public interface

BackupOverviewBuilder

com.atlassian.jira.imports.project.core.BackupOverviewBuilder
Known Indirect Subclasses

Class Overview

This is the intermediate object that collects information from the SAX parser and is able to produce a BackupOverview.
This object is used to build up data gleaned from an XML backup. This contains the JIRA information (build number, edition, plugins, etc.) and all the project information (components, versions, etc.) about the data stored in an XML backup.
NOTE: This object only collates all its project data when the getBackupOverview() method is called. This object is not meant to be used as a transfer object, instead it is an incrementally populated builder.

Summary

Nested Classes
class BackupOverviewBuilder.ConfigurationContext Represents the CustomField configuration context as stored in the XML Backup. 
class BackupOverviewBuilder.FieldConfigSchemeIssueType Represents the CustomField field configuration issue type context as stored in the XML Backup. 
Public Methods
void addAdditionalData(String key, String projectId, Object data)
Set additional data into the backup overview that is gathered from plugins.
@Internal void addComment(ExternalComment comment)
Allows you to register a comment against a project.
@Internal void addComponent(ExternalComponent component)
Allows you to add a reference to an ExternalComponent.
@Internal void addConfigurationContext(BackupOverviewBuilder.ConfigurationContext configuration)
Registers a portion of a projects custom field configuration so that the builder can collate this with the addFieldConfigSchemeIssueType(FieldConfigSchemeIssueType) and addExternalCustomField(com.atlassian.jira.external.beans.ExternalCustomField) data to produce a project relevant custom field configuration.
@Internal void addExternalCustomField(ExternalCustomField externalCustomField)
Registers the custom field information portion of a projects custom field configuration so that the builder can collate this with the addConfigurationContext(ConfigurationContext) and addFieldConfigSchemeIssueType(FieldConfigSchemeIssueType) data to produce a project relevant custom field configuration.
@Internal void addFieldConfigSchemeIssueType(BackupOverviewBuilder.FieldConfigSchemeIssueType fieldConfigSchemeIssueType)
Registers a portion of a projects custom field configuration so that the builder can collate this with the addConfigurationContext(ConfigurationContext) and addExternalCustomField(com.atlassian.jira.external.beans.ExternalCustomField) data to produce a project relevant custom field configuration.
@Internal void addIssue(ExternalIssue issue)
Allows you to register an issue against a project.
@Internal void addPluginVersion(PluginVersion pluginVersion)
Allows you to add a reference to a PluginVersion.
@Internal void addProject(ExternalProject project)
Allows you to add a reference to an ExternalProject.
@Internal void addVersion(ExternalVersion version)
Allows you to add a reference to an ExternalVersion.
BackupOverview getBackupOverview()
Returns a BackupOverview that is populated by the current state of the builder.
void populateInformationFromElement(String elementName, Map attributes)
Used to handle populating the builder from a SAX parser.
@Internal void setBuildNumber(String buildNumber)
Registers the JIRA build number with this object.
@Internal void setEdition(String edition)
Registers the JIRA edition with this object.
@Internal void setUnassignedIssuesAllowed(boolean unassignedIssuesAllowed)
Registers the value of the "UnassignedIssuesAllowed" setting.

Public Methods

public void addAdditionalData (String key, String projectId, Object data)

Set additional data into the backup overview that is gathered from plugins.

Parameters
key A unique key for the plugin.
projectId The project the data relates to.
data Data to be stored against the key. The data will be added to a list and eventually stored in the and accessible via

@Internal public void addComment (ExternalComment comment)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Allows you to register a comment against a project. Only comment length is stored and not the comment body. Later it's used to find the longest of system text fields (description, environment, comment) in a project.

Parameters
comment which has its id and issue set.

@Internal public void addComponent (ExternalComponent component)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Allows you to add a reference to an ExternalComponent.

Parameters
component the component information to associate with the project.

@Internal public void addConfigurationContext (BackupOverviewBuilder.ConfigurationContext configuration)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Registers a portion of a projects custom field configuration so that the builder can collate this with the addFieldConfigSchemeIssueType(FieldConfigSchemeIssueType) and addExternalCustomField(com.atlassian.jira.external.beans.ExternalCustomField) data to produce a project relevant custom field configuration.

Parameters
configuration is the configuration represented in the backup XML.

@Internal public void addExternalCustomField (ExternalCustomField externalCustomField)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Registers the custom field information portion of a projects custom field configuration so that the builder can collate this with the addConfigurationContext(ConfigurationContext) and addFieldConfigSchemeIssueType(FieldConfigSchemeIssueType) data to produce a project relevant custom field configuration.

Parameters
externalCustomField is the custom field information represented in the backup XML.

@Internal public void addFieldConfigSchemeIssueType (BackupOverviewBuilder.FieldConfigSchemeIssueType fieldConfigSchemeIssueType)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Registers a portion of a projects custom field configuration so that the builder can collate this with the addConfigurationContext(ConfigurationContext) and addExternalCustomField(com.atlassian.jira.external.beans.ExternalCustomField) data to produce a project relevant custom field configuration.

Parameters
fieldConfigSchemeIssueType is the linked issue type information represented in the backup XML.

@Internal public void addIssue (ExternalIssue issue)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Allows you to register an issue against a project. The issue id's are made available via the getIssueIds() method.

Parameters
issue which has its id and project set. We should be able to convert the issue id to a long.

@Internal public void addPluginVersion (PluginVersion pluginVersion)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Allows you to add a reference to a PluginVersion.

Parameters
pluginVersion the plugin version to add.

@Internal public void addProject (ExternalProject project)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Allows you to add a reference to an ExternalProject.

Parameters
project the project to add.

@Internal public void addVersion (ExternalVersion version)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Allows you to add a reference to an ExternalVersion.

Parameters
version the version information to associate with the project.

public BackupOverview getBackupOverview ()

Returns a BackupOverview that is populated by the current state of the builder.

Returns
  • backupOverview that contains the BackupProject's and JIRA system information that has been registered with the builder.

public void populateInformationFromElement (String elementName, Map attributes)

Used to handle populating the builder from a SAX parser. This method will delegate the actual handling of the element and attributes to an instance of a BackupOverviewPopulator. This will then populate this object with the information it gains from the XML information.

Parameters
elementName identifies the XML element.
attributes identifies the attributes associated with the XML element.
Throws
ParseException if the attributes are invalid for this element.

@Internal public void setBuildNumber (String buildNumber)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Registers the JIRA build number with this object.

Parameters
buildNumber the build number as contained in the JIRA backup.

@Internal public void setEdition (String edition)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Registers the JIRA edition with this object.

Parameters
edition the edition as contained in the JIRA backup.

@Internal public void setUnassignedIssuesAllowed (boolean unassignedIssuesAllowed)

@Internal

This method is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Registers the value of the "UnassignedIssuesAllowed" setting.

Parameters
unassignedIssuesAllowed The value of the "UnassignedIssuesAllowed" setting.