Class FileBasedPersister
- java.lang.Object
-
- com.atlassian.bamboo.persister.file.FileBasedPersister
-
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
BuildPersisterDecorator
s to handle caching, and actually saving.
-
-
Field Summary
Fields Modifier and Type Field Description static String
ADMIN_CONFIG_FILE
static String
DEFAULT_BUILD_DIRECTORY
static String
DEFAULT_CONFIG_DIRECTORY
-
Constructor Summary
Constructors Constructor Description FileBasedPersister(@Nullable BootstrapManager bootstrapManager, @NotNull XStreamFactory xStreamFactory)
FileBasedPersister(XStreamFactory xStreamFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBuildResults(PlanKey planKey, BuildResults buildResults)
Associate the given buildResults with the given build.void
clear()
Clears all interal caches the persister may havevoid
deleteBuildResults(PlanKey planKey, long buildNumber)
Remove a specific build result MXLAdministrationConfiguration
getAdministrationConfiguration()
Reload the persisted admin configuration dataAdministrationConfiguration
getAdministrationConfiguration(@Nullable FeatureManager featureManager)
Reload the persisted admin configuration data@Nullable BuildResults
getBuildResults(Key planKey, int buildNumber)
Get the Nth build for a given build.String
getConfigurationDirectory()
Provide the UI with the current configuration directoryFile
getConfigurationDirectoryFile()
Return the directory containing the administration.xml file.String
getDataDirectory()
Provide the UI with the current build data directoryFile
getDataDirectoryFile()
String
getName()
What's the name of plugin - used to identify the plugin in the bamboo.xml configuration file.String
getUrl()
Who implemented this plugin?boolean
isActive()
Indicates whether this is currently active.boolean
isInitialised()
Does the persister reference valid admin configuration data?void
reload()
Restart with the latest configurations...void
reloadAdministrationConfiguration()
Reloads the administration configuration from the xml.void
saveAdministrationConfiguration(AdministrationConfiguration administrationConfiguration)
Save the given administrationConfiguration in the persister's configuration data directoryvoid
saveAdministrationConfigurationNoXsrfCheck(AdministrationConfiguration administrationConfiguration)
void
setConfigurationDirectory(String configurationDataDirectory)
Set by the configuration loader from the value in the bamboo.xml data file.void
setDataDirectory(String buildDataDirectory)
Set by the configuration loader from the value in the bamboo.xml data file.void
setPersisterOptions(PersisterOptions persisterOptions)
Let the UI update the persistervoid
start()
Make the persister available for use.void
stop()
Stop the component and clean up any resources
-
-
-
Field Detail
-
ADMIN_CONFIG_FILE
public static final String ADMIN_CONFIG_FILE
- See Also:
- Constant Field Values
-
DEFAULT_BUILD_DIRECTORY
public static final String DEFAULT_BUILD_DIRECTORY
- See Also:
- Constant Field Values
-
DEFAULT_CONFIG_DIRECTORY
public static final String DEFAULT_CONFIG_DIRECTORY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FileBasedPersister
public FileBasedPersister(XStreamFactory xStreamFactory)
-
FileBasedPersister
public FileBasedPersister(@Nullable @Nullable BootstrapManager bootstrapManager, @NotNull @NotNull XStreamFactory xStreamFactory)
-
-
Method Detail
-
setPersisterOptions
public void setPersisterOptions(PersisterOptions persisterOptions)
Description copied from interface:Persister
Let the UI update the persister- Specified by:
setPersisterOptions
in interfacePersister
-
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 interfacePersister
-
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 interfacePersister
- Returns:
-
start
public void start() throws Exception
Make the persister available for use.
-
stop
public void stop() throws Exception
Description copied from interface:Startable
Stop the component and clean up any resources
-
isActive
public boolean isActive()
Description copied from interface:Startable
Indicates whether this is currently active.
-
reload
public void reload()
Restart with the latest configurations...
-
clear
public void clear()
Description copied from interface:Persister
Clears all interal caches the persister may have
-
isInitialised
public boolean isInitialised()
Does the persister reference valid admin configuration data?- Specified by:
isInitialised
in interfacePersister
- 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 interfacePersister
-
getAdministrationConfiguration
public AdministrationConfiguration getAdministrationConfiguration()
Description copied from interface:Persister
Reload the persisted admin configuration data- Specified by:
getAdministrationConfiguration
in interfacePersister
- 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 interfacePersister
- Returns:
- The data
-
saveAdministrationConfiguration
public void saveAdministrationConfiguration(AdministrationConfiguration administrationConfiguration)
Save the given administrationConfiguration in the persister's configuration data directory- Specified by:
saveAdministrationConfiguration
in interfacePersister
- 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 interfacePersister
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 interfacePersister
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 interfacePersister
buildNumber
- The build's build number- Returns:
- The build result
-
-