hudson.plugins.clearcase
Class AbstractClearCaseScm

java.lang.Object
  extended by hudson.scm.SCM
      extended by hudson.plugins.clearcase.AbstractClearCaseScm
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.scm.SCM>
Direct Known Subclasses:
ClearCaseSCM, ClearCaseUcmSCM

public abstract class AbstractClearCaseScm
extends hudson.scm.SCM

Abstract class for ClearCase SCM. The class contains the logic around checkout and polling, the deriving classes only have to implement the specific checkout and polling logic.


Field Summary
static java.lang.String CLEARCASE_VIEWNAME_ENVSTR
           
static java.lang.String CLEARCASE_VIEWPATH_ENVSTR
           
 
Fields inherited from class hudson.scm.SCM
PERMISSIONS, TAG
 
Constructor Summary
AbstractClearCaseScm(java.lang.String viewName, java.lang.String mkviewOptionalParam)
           
 
Method Summary
 void buildEnvVars(hudson.model.AbstractBuild build, java.util.Map<java.lang.String,java.lang.String> env)
          Adds the env variable for the ClearCase SCMs.
protected  boolean checkout(hudson.model.AbstractBuild<?,?> build, hudson.Launcher launcher, hudson.FilePath workspace, hudson.model.BuildListener listener, java.io.File changelogFile, int mergeTimeWindow)
           
 boolean checkout(hudson.model.AbstractBuild build, hudson.Launcher launcher, hudson.FilePath workspace, hudson.model.BuildListener listener, java.io.File changelogFile)
           
 hudson.scm.ChangeLogParser createChangeLogParser()
           
protected abstract  CheckOutAction createCheckOutAction(ClearToolLauncher launcher)
          Create a CheckOutAction that will be used by the checkout method.
protected  ClearToolLauncher createClearToolLauncher(hudson.model.TaskListener listener, hudson.FilePath workspace, hudson.Launcher launcher)
          Creates a Hudson clear tool launcher.
protected abstract  PollAction createPollAction(ClearToolLauncher launcher)
          Create a PollAction that will be used by the pollChanges() method.
abstract  java.lang.String[] getBranchNames()
          Return string array containing the branch names that should be used when polling for changes.
 java.lang.String getMkviewOptionalParam()
          Returns the user configured optional params that will be used in when creating a new view.
 java.lang.String getViewName()
           
abstract  java.lang.String getVobPaths()
          Return string containing the vob paths that should be used when polling for changes.
 boolean pollChanges(hudson.model.AbstractProject project, hudson.Launcher launcher, hudson.FilePath workspace, hudson.model.TaskListener listener)
           
 boolean supportsPolling()
           
 
Methods inherited from class hudson.scm.SCM
createEmptyChangeLog, getBrowser, getDescriptor, getEffectiveBrowser, getModuleRoot, getModuleRoots, nullify, requiresWorkspaceForPolling
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLEARCASE_VIEWNAME_ENVSTR

public static final java.lang.String CLEARCASE_VIEWNAME_ENVSTR
See Also:
Constant Field Values

CLEARCASE_VIEWPATH_ENVSTR

public static final java.lang.String CLEARCASE_VIEWPATH_ENVSTR
See Also:
Constant Field Values
Constructor Detail

AbstractClearCaseScm

public AbstractClearCaseScm(java.lang.String viewName,
                            java.lang.String mkviewOptionalParam)
Method Detail

createCheckOutAction

protected abstract CheckOutAction createCheckOutAction(ClearToolLauncher launcher)
Create a CheckOutAction that will be used by the checkout method.

Parameters:
launcher - the command line launcher
Returns:
an action that can check out code from a ClearCase repository.

createPollAction

protected abstract PollAction createPollAction(ClearToolLauncher launcher)
Create a PollAction that will be used by the pollChanges() method.

Parameters:
launcher - the command line launcher
Returns:
an action that can poll if there are any changes a ClearCase repository.

getBranchNames

public abstract java.lang.String[] getBranchNames()
Return string array containing the branch names that should be used when polling for changes.

Returns:
a string array, can not be empty

getVobPaths

public abstract java.lang.String getVobPaths()
Return string containing the vob paths that should be used when polling for changes.

Returns:
string that will be appended at the end of the lshistory command

createChangeLogParser

public hudson.scm.ChangeLogParser createChangeLogParser()
Specified by:
createChangeLogParser in class hudson.scm.SCM

supportsPolling

public boolean supportsPolling()
Overrides:
supportsPolling in class hudson.scm.SCM

getViewName

public java.lang.String getViewName()

getMkviewOptionalParam

public java.lang.String getMkviewOptionalParam()
Returns the user configured optional params that will be used in when creating a new view.

Returns:
string containing optional mkview parameters.

buildEnvVars

public void buildEnvVars(hudson.model.AbstractBuild build,
                         java.util.Map<java.lang.String,java.lang.String> env)
Adds the env variable for the ClearCase SCMs. CLEARCASE_VIEWNAME - The name of the clearcase view. CLEARCASE_VIEWPATH - The absolute path to the clearcase view.

Overrides:
buildEnvVars in class hudson.scm.SCM

checkout

public boolean checkout(hudson.model.AbstractBuild build,
                        hudson.Launcher launcher,
                        hudson.FilePath workspace,
                        hudson.model.BuildListener listener,
                        java.io.File changelogFile)
                 throws java.io.IOException,
                        java.lang.InterruptedException
Specified by:
checkout in class hudson.scm.SCM
Throws:
java.io.IOException
java.lang.InterruptedException

createClearToolLauncher

protected ClearToolLauncher createClearToolLauncher(hudson.model.TaskListener listener,
                                                    hudson.FilePath workspace,
                                                    hudson.Launcher launcher)
Creates a Hudson clear tool launcher.

Parameters:
listener - listener to write command output to
workspace - the workspace for the job
launcher - actual launcher to launch commands with
Returns:
a clear tool launcher that uses Hudson for launching commands

checkout

protected boolean checkout(hudson.model.AbstractBuild<?,?> build,
                           hudson.Launcher launcher,
                           hudson.FilePath workspace,
                           hudson.model.BuildListener listener,
                           java.io.File changelogFile,
                           int mergeTimeWindow)
                    throws java.io.IOException,
                           java.lang.InterruptedException
Throws:
java.io.IOException
java.lang.InterruptedException

pollChanges

public boolean pollChanges(hudson.model.AbstractProject project,
                           hudson.Launcher launcher,
                           hudson.FilePath workspace,
                           hudson.model.TaskListener listener)
                    throws java.io.IOException,
                           java.lang.InterruptedException
Specified by:
pollChanges in class hudson.scm.SCM
Throws:
java.io.IOException
java.lang.InterruptedException


Copyright © 2008. All Rights Reserved.