Interface BackupOverviewBuilder
- All Known Implementing Classes:
BackupOverviewBuilderImpl
public interface BackupOverviewBuilder
This is the intermediate object that collects information from the SAX parser and is able to produce a
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
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.- Since:
- v3.13
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
Represents the CustomField configuration context as stored in the XML Backup.static class
Represents the CustomField field configuration issue type context as stored in the XML Backup. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAdditionalData
(String key, String projectId, Object data) Set additional data into the backup overview that is gathered from plugins.void
addComment
(ExternalComment comment) Allows you to register a comment against a project.void
addComponent
(ExternalComponent component) Allows you to add a reference to anExternalComponent
.void
Registers a portion of a projects custom field configuration so that the builder can collate this with theaddFieldConfigSchemeIssueType(FieldConfigSchemeIssueType)
andaddExternalCustomField(com.atlassian.jira.external.beans.ExternalCustomField)
data to produce a project relevant custom field configuration.void
addExternalCustomField
(ExternalCustomField externalCustomField) Registers the custom field information portion of a projects custom field configuration so that the builder can collate this with theaddConfigurationContext(ConfigurationContext)
andaddFieldConfigSchemeIssueType(FieldConfigSchemeIssueType)
data to produce a project relevant custom field configuration.void
addFieldConfigSchemeIssueType
(BackupOverviewBuilder.FieldConfigSchemeIssueType fieldConfigSchemeIssueType) Registers a portion of a projects custom field configuration so that the builder can collate this with theaddConfigurationContext(ConfigurationContext)
andaddExternalCustomField(com.atlassian.jira.external.beans.ExternalCustomField)
data to produce a project relevant custom field configuration.void
addIssue
(ExternalIssue issue) Allows you to register an issue against a project.void
addPluginVersion
(PluginVersion pluginVersion) Allows you to add a reference to aPluginVersion
.void
addProject
(ExternalProject project) Allows you to add a reference to anExternalProject
.void
addVersion
(ExternalVersion version) Allows you to add a reference to anExternalVersion
.Returns aBackupOverview
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.void
setBuildNumber
(String buildNumber) Registers the JIRA build number with this object.void
setEdition
(String edition) Registers the JIRA edition with this object.void
setUnassignedIssuesAllowed
(boolean unassignedIssuesAllowed) Registers the value of the "UnassignedIssuesAllowed" setting.
-
Method Details
-
getBackupOverview
BackupOverview getBackupOverview()Returns aBackupOverview
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.
-
addProject
Allows you to add a reference to anExternalProject
.- Parameters:
project
- the project to add.
-
addPluginVersion
Allows you to add a reference to aPluginVersion
.- Parameters:
pluginVersion
- the plugin version to add.
-
addVersion
Allows you to add a reference to anExternalVersion
.- Parameters:
version
- the version information to associate with the project.
-
addComponent
Allows you to add a reference to anExternalComponent
.- Parameters:
component
- the component information to associate with the project.
-
addIssue
Allows you to register an issue against a project. The issue id's are made available via theBackupProject.getIssueIds()
method.- Parameters:
issue
- which has its id and project set. We should be able to convert the issue id to a long.
-
addComment
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.
-
setBuildNumber
Registers the JIRA build number with this object.- Parameters:
buildNumber
- the build number as contained in the JIRA backup.
-
setEdition
Registers the JIRA edition with this object.- Parameters:
edition
- the edition as contained in the JIRA backup.
-
setUnassignedIssuesAllowed
@Internal void setUnassignedIssuesAllowed(boolean unassignedIssuesAllowed) Registers the value of the "UnassignedIssuesAllowed" setting.- Parameters:
unassignedIssuesAllowed
- The value of the "UnassignedIssuesAllowed" setting.
-
addConfigurationContext
Registers a portion of a projects custom field configuration so that the builder can collate this with theaddFieldConfigSchemeIssueType(FieldConfigSchemeIssueType)
andaddExternalCustomField(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.
-
addFieldConfigSchemeIssueType
@Internal void addFieldConfigSchemeIssueType(BackupOverviewBuilder.FieldConfigSchemeIssueType fieldConfigSchemeIssueType) Registers a portion of a projects custom field configuration so that the builder can collate this with theaddConfigurationContext(ConfigurationContext)
andaddExternalCustomField(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.
-
addExternalCustomField
Registers the custom field information portion of a projects custom field configuration so that the builder can collate this with theaddConfigurationContext(ConfigurationContext)
andaddFieldConfigSchemeIssueType(FieldConfigSchemeIssueType)
data to produce a project relevant custom field configuration.- Parameters:
externalCustomField
- is the custom field information represented in the backup XML.
-
populateInformationFromElement
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 aBackupOverviewPopulator
. 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.
-
addAdditionalData
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 theand accessible via
-