public abstract class AbstractMultipleFTPerXFERJob extends Abstract implements MultipleFTPerXFERJob
CHANGE_XBIT_TRANSFORMATION, mAddNodesForSettingXBit, mChmodDisabledForAllSites, mDisabledChmodSites, mLocalIrodsEnv, mLocalIrodsEnvBasename, mLocalS3cfg, mLocalS3cfgBasename, mLocalUserProxy, mLocalUserProxyBasename, mLogger, mPOptions, mProps, mRefiner, mSiteStore, mTCHandle, NOOP_PREFIX, SET_XBIT_PREFIX, XBIT_DERIVATION_NS, XBIT_DERIVATION_VERSION, XBIT_EXECUTABLE_BASENAME, XBIT_TRANSFORMATION_NS, XBIT_TRANSFORMATION_VERSION
TRANSFER_UNIVERSE, VERSION
Constructor and Description |
---|
AbstractMultipleFTPerXFERJob(PegasusBag bag)
The overloaded constructor, that is called by the Factory to load the
class.
|
Modifier and Type | Method and Description |
---|---|
TransferJob |
createTransferJob(Job job,
String site,
Collection files,
Collection execFiles,
String txJobName,
int jobClass)
Constructs a general transfer job that handles multiple transfers per
transfer job.
|
protected TransformationCatalogEntry |
defaultTCEntry(String namespace,
String name,
String version,
String executableBasename,
String site)
Returns a default TC entry to be used in case entry is not found in the
transformation catalog.
|
protected abstract String |
generateArgumentString(TransferJob job)
It constructs the arguments to the transfer executable that need to be passed
to the executable referred to in this transfer mode.
|
protected abstract String |
getCompleteTCName()
Returns the complete name for the transformation that the implementation
is using..
|
protected abstract String |
getDerivationName()
Returns the logical name of the derivation that this implementation
refers to.
|
protected abstract String |
getDerivationNamespace()
Returns the namespace of the derivation that this implementation
refers to.
|
protected abstract String |
getDerivationVersion()
Returns the version of the derivation that this implementation
refers to.
|
protected abstract List<Profile> |
getEnvironmentVariables(String site)
Returns the environment profiles that are required for the default
entry to sensibly work.
|
void |
postProcess(TransferJob job)
An optional method that allows the derived classes to do their own
post processing on the the transfer job before it is returned to
the calling module.
|
protected String |
prepareSTDINAndAssociateCredentials(TransferJob job,
Collection files,
String stagingSite,
int jobClass)
Prepares the stdin for the transfer job.
|
protected abstract void |
writeStdInAndAssociateCredentials(TransferJob job,
FileWriter stdIn,
Collection files,
String stagingSite,
int jobClass)
Writes to a FileWriter stream the stdin which goes into the magic script
via standard input
|
addSetXBitJobs, addSetXBitJobs, addSetXBitJobs, applyPriority, checkAndTransferIrodsEnvFile, checkAndTransferProxy, construct, createNoOPJob, createSetXBitJob, createSetXBitJob, createSetXBitJob, determineDisabledChmodSites, disableChmodJobCreation, getNOOPJobName, getPriority, getSetXBitJobName, setRefiner
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
doesPreserveXBit, getDescription, getTransformationCatalogEntry, useThirdPartyTransferAlways
public AbstractMultipleFTPerXFERJob(PegasusBag bag)
bag
- the bag of Pegasus initialization objectspublic TransferJob createTransferJob(Job job, String site, Collection files, Collection execFiles, String txJobName, int jobClass)
createTransferJob
in interface Implementation
job
- the Job object for the job, in relation to which
the transfer node is being added. Either the transfer
node can be transferring this jobs input files to
the execution pool, or transferring this job's output
files to the output pool.site
- the site where the transfer job should run.files
- collection of FileTransfer
objects
representing the data files and staged executables to be
transferred.execFiles
- subset collection of the files parameter, that identifies
the executable files that are being transferred.txJobName
- the name of transfer node.jobClass
- the job Class for the newly added job. Can be one of the
following:
stage-in
stage-out
inter-pool transfer
stage-in worker transferprotected TransformationCatalogEntry defaultTCEntry(String namespace, String name, String version, String executableBasename, String site)
namespace
- the namespace of the transfer transformationname
- the logical name of the transfer transformationversion
- the version of the transfer transformationexecutableBasename
- the basename of the executablesite
- the site for which the default entry is required.protected abstract List<Profile> getEnvironmentVariables(String site)
site
- the site where the job is going to run.public void postProcess(TransferJob job)
job
- the TransferJob
that has been created.protected String prepareSTDINAndAssociateCredentials(TransferJob job, Collection files, String stagingSite, int jobClass) throws Exception
name
- the name of the transfer job.files
- Collection of FileTransfer
objects containing
the information about sourceam fin and destURL's.stagingSite
- the site where the data will be populated by first
level staging jobs.jobClass
- the job Class for the newly added job. Can be one of the
following:
stage-in
stage-out
inter-pool transferException
- in case of error.protected abstract String getDerivationNamespace()
protected abstract String getDerivationName()
protected abstract String getDerivationVersion()
protected abstract String generateArgumentString(TransferJob job)
job
- the object containing the transfer node.protected abstract void writeStdInAndAssociateCredentials(TransferJob job, FileWriter stdIn, Collection files, String stagingSite, int jobClass) throws Exception
job
- the transfer job .stdIn
- the writer to the stdin file.files
- Collection of FileTransfer
objects containing
the information about sourceam fin and destURL's.stagingSite
- the site where the data will be populated by first
level staging jobs.jobClass
- the job Class for the newly added job. Can be one of the
following:
stage-in
stage-out
inter-pool transferException
protected abstract String getCompleteTCName()
Copyright © 2011 The University of Southern California. All Rights Reserved.