com.atlassian.bamboo.persister.file
Class XStreamBuildPersister

java.lang.Object
  extended by com.atlassian.bamboo.persister.xstream.AbstractXStreamPersister
      extended by com.atlassian.bamboo.persister.file.XStreamBuildPersister
All Implemented Interfaces:
Startable, BuildPersisterDecorator

public class XStreamBuildPersister
extends AbstractXStreamPersister
implements BuildPersisterDecorator, Startable

This class provides an XStream implementation of the Bamboo BuildPersisterDecorator'er.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.atlassian.bamboo.persister.xstream.AbstractXStreamPersister
AbstractXStreamPersister.AntBuilderMap, AbstractXStreamPersister.MavenBuilderMap, AbstractXStreamPersister.ScriptBuilderMap
 
Field Summary
static String BUILD_MAP_XML_FILE
           
static String BUILD_XML_FILE
           
 
Fields inherited from class com.atlassian.bamboo.persister.xstream.AbstractXStreamPersister
builderManager, myXstream
 
Constructor Summary
XStreamBuildPersister(File buildDirectory, BuilderManager builderManager)
          Initialised XStream to use aliases for classes to tidy up the resulting XML.
 
Method Summary
 File createBuildDirectory(File buildDir, Date buildDate)
          Create a build subdirectory based on the build date.
 void deleteBuild(Build build)
          Remove the given build's persisted files
 void deleteBuildResults(Build build, long buildNumber)
          Remove the build files for the given build buildNumber.
 FastBuildDefinitionDirectoryMapper getBuildDirectoryMapper()
          Used in testing
 String getBuildFileName(long buildNumber)
          Create the build number xml file name.
 Iterator getBuildNames()
          Obtain an iterator of the names of the currently persisted builds
 File getBuildResultsFileInDatedFormat(Build build, long buildNumber)
           
 BuildResults loadBuildResults(Build build, long buildNumber)
          Load the build buildresults for the given build number
 Collection loadBuilds()
          Get all the persisted builds
 Build loadBuilds(String buildName)
          Load the given build from an xml file.
 void saveBuild(Build build)
          Save the supplied build
 void saveBuildResults(Build build, BuildResults buildResults)
          Save the build results
 void start()
          Load the build data file map.
 void stop()
          Do nothing!
 
Methods inherited from class com.atlassian.bamboo.persister.xstream.AbstractXStreamPersister
fromXML, init, registerClassAlias, toXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BUILD_MAP_XML_FILE

public static final String BUILD_MAP_XML_FILE
See Also:
Constant Field Values

BUILD_XML_FILE

public static final String BUILD_XML_FILE
See Also:
Constant Field Values
Constructor Detail

XStreamBuildPersister

public XStreamBuildPersister(File buildDirectory,
                             BuilderManager builderManager)
Initialised XStream to use aliases for classes to tidy up the resulting XML.

Parameters:
buildDirectory -
Method Detail

start

public void start()
           throws Exception
Load the build data file map.

Specified by:
start in interface Startable
Throws:
Exception - A generic error

stop

public void stop()
          throws Exception
Do nothing!

Specified by:
stop in interface Startable
Throws:
Exception - A generic error.

saveBuild

public void saveBuild(Build build)
               throws PersisterException
Save the supplied build

Specified by:
saveBuild in interface BuildPersisterDecorator
Parameters:
build - The build to persist as XML
Throws:
PersisterException - Failed to persist

loadBuilds

public Build loadBuilds(String buildName)
                 throws PersisterException
Load the given build from an xml file.

Specified by:
loadBuilds in interface BuildPersisterDecorator
Parameters:
buildName - The build to load
Returns:
The build
Throws:
PersisterException - An error.

saveBuildResults

public void saveBuildResults(Build build,
                             BuildResults buildResults)
                      throws PersisterException
Save the build results

Specified by:
saveBuildResults in interface BuildPersisterDecorator
Parameters:
build - Associate the build with this build
buildResults - The results to save
Throws:
PersisterException - An error

loadBuildResults

public BuildResults loadBuildResults(Build build,
                                     long buildNumber)
                              throws PersisterException
Load the build buildresults for the given build number

Specified by:
loadBuildResults in interface BuildPersisterDecorator
Parameters:
build - The build
buildNumber - The build top load
Returns:
The build results
Throws:
PersisterException - An error

getBuildResultsFileInDatedFormat

public File getBuildResultsFileInDatedFormat(Build build,
                                             long buildNumber)
                                      throws PersisterException
Throws:
PersisterException

getBuildNames

public Iterator getBuildNames()
Obtain an iterator of the names of the currently persisted builds

Specified by:
getBuildNames in interface BuildPersisterDecorator
Returns:
The iterator of build names

deleteBuild

public void deleteBuild(Build build)
                 throws PersisterException
Remove the given build's persisted files

Specified by:
deleteBuild in interface BuildPersisterDecorator
Parameters:
build - The build to zap
Throws:
PersisterException - Failed to persist

deleteBuildResults

public void deleteBuildResults(Build build,
                               long buildNumber)
                        throws PersisterException
Remove the build files for the given build buildNumber.

Specified by:
deleteBuildResults in interface BuildPersisterDecorator
Parameters:
build - The build the build belongs to
buildNumber - The number of the build to delete
Throws:
PersisterException - A generic failure

getBuildFileName

public String getBuildFileName(long buildNumber)
Create the build number xml file name.

Parameters:
buildNumber - The number of the build
Returns:
The file name.

createBuildDirectory

public File createBuildDirectory(File buildDir,
                                 Date buildDate)
Create a build subdirectory based on the build date.


loadBuilds

public Collection loadBuilds()
                      throws PersisterException
Description copied from interface: BuildPersisterDecorator
Get all the persisted builds

Specified by:
loadBuilds in interface BuildPersisterDecorator
Returns:
The builds
Throws:
PersisterException - Failed to load

getBuildDirectoryMapper

public FastBuildDefinitionDirectoryMapper getBuildDirectoryMapper()
Used in testing



Copyright © 2006 Atlassian Software Systems. All Rights Reserved.