com.pmease.quickbuild.repository
Class Repository

java.lang.Object
  extended bycom.pmease.quickbuild.repository.Repository
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
BaseClearcaseRepository, CvsRepository, FileSystemRepository, PerforceRepository, QuickBuildRepository, StarTeamRepository, SvnRepository, UCMClearcaseRepository, VssRepository

public abstract class Repository
extends java.lang.Object
implements java.io.Serializable

Abstract class for repository including some common functionalities. It is a convienient way to extend this class to implement other repositories.

Author:
robin shine
See Also:
Serialized Form

Constructor Summary
Repository()
           
 
Method Summary
protected abstract  void buildFinished(Build build)
           
protected abstract  void checkout(Build build)
           
 void cleanupCheckoutStarted(Build build)
           
protected abstract  void cleanupCheckoutStarted(java.lang.String workingDir, org.apache.log4j.Logger logger)
           
 void doCheckout(Build build)
          Checkout contents from version control system
 void doLabel(Build build, java.lang.String label, java.lang.String comment)
           
 boolean equals(java.lang.Object other)
           
 Revisions getChangeListSince(java.util.Date date, Build build)
           
protected abstract  Revisions getChangeListSince(DependentContext context, java.util.Date date, java.lang.String workingDir, org.apache.log4j.Logger logger)
           
 RepositoryEditor getEditor()
           
 java.lang.String getLoginMappingName()
          Choose login mapping for this repository.
 org.apache.tapestry.form.IPropertySelectionModel getLoginMappingNameSelectionModel()
           
abstract  java.lang.Class getModuleClazz()
           
 java.util.List getModules()
           
 java.lang.String getName()
          Provide a name for this repository.
 java.util.Map getNameChoices()
           
 long getQuietPeriod()
          Number of seconds current repository should be quiet (without checkins) before QuickBuild decides to check out the code from this repository for a build.
 int hashCode()
           
 boolean isCheckedOut()
           
 boolean isModified()
           
 boolean isModifiedSince(java.util.Date date, Configuration configuration)
           
protected  boolean isQuietSince(java.util.Date date, Build build)
           
protected abstract  void label(Build build, java.lang.String label, java.lang.String comment)
          Label checked out artifacts from this repository.
 void notifyBuildFinished(Build build)
           
 void setEditor(RepositoryEditor editor)
           
 void setLoginMappingName(java.lang.String loginMappingName)
           
 void setName(java.lang.String name)
           
 void setQuietPeriod(long quietPeriod)
           
 void validate(Editable editable)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Repository

public Repository()
Method Detail

doCheckout

public final void doCheckout(Build build)
Checkout contents from version control system

Parameters:
build -

checkout

protected abstract void checkout(Build build)

notifyBuildFinished

public final void notifyBuildFinished(Build build)

buildFinished

protected abstract void buildFinished(Build build)

isQuietSince

protected boolean isQuietSince(java.util.Date date,
                               Build build)

isModifiedSince

public final boolean isModifiedSince(java.util.Date date,
                                     Configuration configuration)

isModified

public final boolean isModified()

getChangeListSince

public final Revisions getChangeListSince(java.util.Date date,
                                          Build build)

getChangeListSince

protected abstract Revisions getChangeListSince(DependentContext context,
                                                java.util.Date date,
                                                java.lang.String workingDir,
                                                org.apache.log4j.Logger logger)

getModuleClazz

public abstract java.lang.Class getModuleClazz()

getQuietPeriod

public long getQuietPeriod()
Number of seconds current repository should be quiet (without checkins) before QuickBuild decides to check out the code from this repository for a build. This is used to avoid checking out code in the middle of some other checkins. This property is optional. When set as 0, quiet period will not be used before checking out code to build.

Returns:

setQuietPeriod

public void setQuietPeriod(long quietPeriod)

equals

public boolean equals(java.lang.Object other)

hashCode

public int hashCode()

getName

public java.lang.String getName()
Provide a name for this repository.

Returns:

setName

public void setName(java.lang.String name)

getNameChoices

public java.util.Map getNameChoices()

getEditor

public RepositoryEditor getEditor()

setEditor

public void setEditor(RepositoryEditor editor)

getModules

public java.util.List getModules()

isCheckedOut

public boolean isCheckedOut()

label

protected abstract void label(Build build,
                              java.lang.String label,
                              java.lang.String comment)
Label checked out artifacts from this repository.

Parameters:
build -

doLabel

public final void doLabel(Build build,
                          java.lang.String label,
                          java.lang.String comment)

cleanupCheckoutStarted

public final void cleanupCheckoutStarted(Build build)

cleanupCheckoutStarted

protected abstract void cleanupCheckoutStarted(java.lang.String workingDir,
                                               org.apache.log4j.Logger logger)

validate

public void validate(Editable editable)

getLoginMappingNameSelectionModel

public org.apache.tapestry.form.IPropertySelectionModel getLoginMappingNameSelectionModel()

getLoginMappingName

public java.lang.String getLoginMappingName()
Choose login mapping for this repository. Login mapping is used to map repository login to QuickBuild user. It can be configured at \"login mappings\" tab of the configuration.

Returns:

setLoginMappingName

public void setLoginMappingName(java.lang.String loginMappingName)


Copyright © 2005 PMEase Inc. All Rights Reserved.