com.atlassian.bamboo.repository
Interface Repository

All Superinterfaces:
ConvertibleFromConfig
All Known Implementing Classes:
AbstractRepository, CVSRepository, LegacyAbstractRepository, LegacyCVSRepository, LegacyPerforceRepository, LegacySvnRepository, PerforceRepository, SvnRepository

public interface Repository
extends ConvertibleFromConfig

Basic contract for interfacing with various version control repository systems.


Field Summary
static String REPOSIORTY_TYPE
           
static String UNKNOWN_HOST
           
 
Method Summary
 void addDefaultValues(BuildConfiguration buildConfiguration)
           
 void getAllSourceCode(Build build)
          Forces the repository to refresh all the source code in the repository
 Collection getChangesSinceLastBuild(Build build, Date lastBuild)
          Obtain the number of changes that have been made to the build since the build was last executed.
 String getHost()
          What's the repostory server host
 String getKey()
           
 String getLabel()
           
 String getName()
           
 File getSourceCodeDirectory(Build build)
          Where has the source code been checked out?
 String getTriggerIpAddress()
          What's the repository's optional trigger IP address?
 String getWebRepositoryUrl()
          What's the repository's web url
 String getWebRepositoryUrlForFile(CommitFile file)
          What's the URL to the repostory for the modified file?
 String getWebRepositoryUrlRepoName()
          What's the repository's web url repository
 boolean hasWebBasedRepositoryAccess()
          Does this recpository provdide a web url intereface?
 boolean isProcessingRepositoryRequest()
          Is the repository currently processing a request with the repository server
 boolean isRepositoryDifferent(Repository repository)
          Checks if the current repo is the same or not and sets the referencesDifferentRepository flag accordingly
 boolean referencesDifferentRepository()
          Has the repository's configuration been updated so that it now references a completely different build?
 void setProcessingRepositoryRequest(boolean processingRepositoryRequest)
          Change the busy status
 void setReferencesDifferentRepository(boolean isDifferentRepository)
          Record that the repository configutation
 void setTriggerIpAddress(String triggerIpAddress)
          Bamboo checks to ensure a repository triggered build request comes from a valid host.
 void setWebRepositoryUrl(String url)
          Where should we link to to show build file changes?
 void setWebRepositoryUrlRepoName(String repoName)
          This is used to identify the repository on multi-repository configurations.
 void setWorkingDir(File workingDir)
          Where should the repository place repository specific working files.
 ErrorCollection validate()
          Validate the Repository's property settings when supplied from an web form
 ErrorCollection validate(BuildConfiguration buildConfiguration)
           
 
Methods inherited from interface com.atlassian.bamboo.fieldvalue.ConvertibleFromConfig
populateFromConfig, toConfiguration
 

Field Detail

UNKNOWN_HOST

static final String UNKNOWN_HOST
See Also:
Constant Field Values

REPOSIORTY_TYPE

static final String REPOSIORTY_TYPE
See Also:
Constant Field Values
Method Detail

getKey

String getKey()

getName

String getName()

getChangesSinceLastBuild

Collection getChangesSinceLastBuild(Build build,
                                    Date lastBuild)
                                    throws RepositoryException
Obtain the number of changes that have been made to the build since the build was last executed.

Parameters:
build - The build we are checking
lastBuild - The date and time of the previous build
Returns:
A collection of ChangeLogEntry objects
Throws:
RepositoryException - Something went wrong

getAllSourceCode

void getAllSourceCode(Build build)
                      throws RepositoryException
Forces the repository to refresh all the source code in the repository

Parameters:
build -
Throws:
RepositoryException - Something went wrong

setWorkingDir

void setWorkingDir(File workingDir)
Where should the repository place repository specific working files.

Parameters:
workingDir - the directory

getSourceCodeDirectory

File getSourceCodeDirectory(Build build)
                            throws RepositoryException
Where has the source code been checked out?

Parameters:
build - The build who's source code we're checking
Returns:
The location of the source code checked out by the repository
Throws:
RepositoryException - A generic failure

validate

ErrorCollection validate()
Validate the Repository's property settings when supplied from an web form

Returns:
The collection of errors, or an empty list if no errors found

validate

ErrorCollection validate(BuildConfiguration buildConfiguration)

addDefaultValues

void addDefaultValues(BuildConfiguration buildConfiguration)

hasWebBasedRepositoryAccess

boolean hasWebBasedRepositoryAccess()
Does this recpository provdide a web url intereface?

Returns:
true if we can link changes to the repositories web interface.

setWebRepositoryUrl

void setWebRepositoryUrl(String url)
Where should we link to to show build file changes?

Parameters:
url - The url of the repositories web interface

setWebRepositoryUrlRepoName

void setWebRepositoryUrlRepoName(String repoName)
This is used to identify the repository on multi-repository configurations.

Parameters:
repoName - The name of the repository we are viewing

getWebRepositoryUrl

String getWebRepositoryUrl()
What's the repository's web url

Returns:
The url

getWebRepositoryUrlRepoName

String getWebRepositoryUrlRepoName()
What's the repository's web url repository

Returns:
The repository (only used in multi-build repositories). Null if not used.

getWebRepositoryUrlForFile

String getWebRepositoryUrlForFile(CommitFile file)
What's the URL to the repostory for the modified file?

Parameters:
file - The file that has been modified
Returns:
The url

setTriggerIpAddress

void setTriggerIpAddress(String triggerIpAddress)
Bamboo checks to ensure a repository triggered build request comes from a valid host.

By default Bamboo checks the request came from repository server's primary IP address.

This may not work on machines with multiple ip addresses. The user can use this option to override the IP address.

Parameters:
triggerIpAddress - The actual IP address of the repository server

getTriggerIpAddress

String getTriggerIpAddress()
What's the repository's optional trigger IP address?

Returns:
the ip address, null if it does not have a trigger address.

isProcessingRepositoryRequest

boolean isProcessingRepositoryRequest()
Is the repository currently processing a request with the repository server

Returns:
true iff it's busy, false otherwise

setProcessingRepositoryRequest

void setProcessingRepositoryRequest(boolean processingRepositoryRequest)
Change the busy status

Parameters:
processingRepositoryRequest - True starting processing, false if it has finished

getHost

String getHost()
What's the repostory server host

Returns:
The host!

referencesDifferentRepository

boolean referencesDifferentRepository()
Has the repository's configuration been updated so that it now references a completely different build?

Returns:
true iff the repository now references a different build

setReferencesDifferentRepository

void setReferencesDifferentRepository(boolean isDifferentRepository)
Record that the repository configutation

Parameters:
isDifferentRepository - true iff the repository now references a different repostory

isRepositoryDifferent

boolean isRepositoryDifferent(Repository repository)
Checks if the current repo is the same or not and sets the referencesDifferentRepository flag accordingly

Parameters:
repository -

getLabel

String getLabel()


Copyright © 2006 Atlassian Software Systems. All Rights Reserved.