Class FileBasedPersister

java.lang.Object
com.atlassian.bamboo.persister.file.FileBasedPersister
All Implemented Interfaces:
Startable, Persister

public class FileBasedPersister extends Object implements Persister
This class persists all data as xml data files on the file system.

It uses a decorator chain of BuildPersisterDecorators to handle caching, and actually saving.

  • Field Details

  • Constructor Details

    • FileBasedPersister

      public FileBasedPersister(XStreamFactory xStreamFactory)
    • FileBasedPersister

      public FileBasedPersister(@Nullable @Nullable BootstrapManager bootstrapManager, @NotNull @NotNull XStreamFactory xStreamFactory)
  • Method Details

    • setPersisterOptions

      public void setPersisterOptions(PersisterOptions persisterOptions)
      Description copied from interface: Persister
      Let the UI update the persister
      Specified by:
      setPersisterOptions in interface Persister
    • getName

      public String getName()
      What's the name of plugin - used to identify the plugin in the bamboo.xml configuration file.
      Returns:
      the name
    • getUrl

      public String getUrl()
      Who implemented this plugin?
    • setDataDirectory

      public void setDataDirectory(String buildDataDirectory)
      Set by the configuration loader from the value in the bamboo.xml data file.
      Parameters:
      buildDataDirectory - The build data directory
    • getDataDirectory

      public String getDataDirectory()
      Provide the UI with the current build data directory
      Returns:
      The directory
    • getDataDirectoryFile

      public File getDataDirectoryFile()
      Specified by:
      getDataDirectoryFile in interface Persister
    • setConfigurationDirectory

      public void setConfigurationDirectory(String configurationDataDirectory)
      Set by the configuration loader from the value in the bamboo.xml data file.
      Parameters:
      configurationDataDirectory - The server configuration data directory
    • getConfigurationDirectory

      public String getConfigurationDirectory()
      Provide the UI with the current configuration directory
      Returns:
      The directory
    • getConfigurationDirectoryFile

      public File getConfigurationDirectoryFile()
      Description copied from interface: Persister
      Return the directory containing the administration.xml file.
      Specified by:
      getConfigurationDirectoryFile in interface Persister
      Returns:
    • start

      public void start() throws Exception
      Make the persister available for use.
      Specified by:
      start in interface Startable
      Throws:
      Exception - A generic exception
    • stop

      public void stop() throws Exception
      Description copied from interface: Startable
      Stop the component and clean up any resources
      Specified by:
      stop in interface Startable
      Throws:
      Exception - A generic failure
    • isActive

      public boolean isActive()
      Description copied from interface: Startable

      Indicates whether this is currently active.

      Specified by:
      isActive in interface Startable
      Returns:
      true if this is active, false otherwise.
    • reload

      public void reload()
      Restart with the latest configurations...
      Specified by:
      reload in interface Persister
    • clear

      public void clear()
      Description copied from interface: Persister
      Clears all interal caches the persister may have
      Specified by:
      clear in interface Persister
    • isInitialised

      public boolean isInitialised()
      Does the persister reference valid admin configuration data?
      Specified by:
      isInitialised in interface Persister
      Returns:
      true if the persister can load the admin configuration file
    • reloadAdministrationConfiguration

      public void reloadAdministrationConfiguration()
      Description copied from interface: Persister
      Reloads the administration configuration from the xml.
      Specified by:
      reloadAdministrationConfiguration in interface Persister
    • getAdministrationConfiguration

      public AdministrationConfiguration getAdministrationConfiguration()
      Description copied from interface: Persister
      Reload the persisted admin configuration data
      Specified by:
      getAdministrationConfiguration in interface Persister
      Returns:
      The data
    • getAdministrationConfiguration

      public AdministrationConfiguration getAdministrationConfiguration(@Nullable @Nullable FeatureManager featureManager)
      Description copied from interface: Persister
      Reload the persisted admin configuration data
      Specified by:
      getAdministrationConfiguration in interface Persister
      Returns:
      The data
    • saveAdministrationConfiguration

      public void saveAdministrationConfiguration(AdministrationConfiguration administrationConfiguration)
      Save the given administrationConfiguration in the persister's configuration data directory
      Specified by:
      saveAdministrationConfiguration in interface Persister
      Parameters:
      administrationConfiguration - The object to save
    • saveAdministrationConfigurationNoXsrfCheck

      public void saveAdministrationConfigurationNoXsrfCheck(AdministrationConfiguration administrationConfiguration)
    • deleteBuildResults

      public void deleteBuildResults(PlanKey planKey, long buildNumber)
      Description copied from interface: Persister
      Remove a specific build result MXL
      Specified by:
      deleteBuildResults in interface Persister
      buildNumber - The build to remove
    • addBuildResults

      public void addBuildResults(PlanKey planKey, BuildResults buildResults)
      Description copied from interface: Persister
      Associate the given buildResults with the given build.
      Specified by:
      addBuildResults in interface Persister
      buildResults - The build results we are adding
    • getBuildResults

      @Nullable public @Nullable BuildResults getBuildResults(Key planKey, int buildNumber)
      Description copied from interface: Persister
      Get the Nth build for a given build.
      Specified by:
      getBuildResults in interface Persister
      buildNumber - The build's build number
      Returns:
      The build result