public abstract class AbstractRefiner extends Object implements Refiner
Modifier and Type | Field and Description |
---|---|
protected ADag |
mDAG
The ADag object associated with the Dag.
|
protected LogManager |
mLogger
The logging object which is used to log all the messages.
|
protected PlannerOptions |
mPOptions
The options passed to the planner at runtime.
|
protected PegasusProperties |
mProps
The handle to the properties object holding the properties relevant to
Pegasus.
|
protected RemoteTransfer |
mRemoteTransfers
The handle to the Remote Transfers State machinery.
|
protected TPT |
mTPT
The handle to the Third Party State machinery.
|
protected Implementation |
mTXInterImplementation
The inter transfer implementation that the refiner requires.
|
protected Implementation |
mTXStageInImplementation
The stage-in transfer implementation that the refiner requires.
|
protected Implementation |
mTXStageOutImplementation
The stage-out transfer implementation that the refiner requires.
|
protected Implementation |
mTXSymbolicLinkImplementation
The stage-in symbolic link transfer implementation that refiner requires.
|
protected XMLProducer |
mXMLStore
The XML Producer object that records the actions.
|
INTER_POOL_PREFIX, LOCAL_PREFIX, REGISTER_PREFIX, REMOTE_PREFIX, STAGE_IN_PREFIX, STAGE_OUT_PREFIX
Constructor and Description |
---|
AbstractRefiner(ADag dag,
PegasusBag bag)
The overloaded constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addStageInXFERNodes(Job job,
Collection<FileTransfer> files)
Default behaviour to preserve backward compatibility when the stage in
and symbolic link jobs were not separated.
|
void |
addStageInXFERNodes(Job job,
Collection<FileTransfer> files,
Collection<FileTransfer> symlinkFiles)
Default behaviour to preserve backward compatibility when the stage in
and symbolic link jobs were not separated.
|
ADag |
getWorkflow()
Returns a reference to the workflow that is being refined by the refiner.
|
XMLProducer |
getXMLProducer()
Returns a reference to the XMLProducer, that generates the XML fragment
capturing the actions of the refiner.
|
boolean |
isSiteThirdParty(String site,
int type)
Returns whether a Site is third party enabled or not.
|
protected void |
logConfigMessages()
Logs configuration messages regarding the type of implementations loaded
for various type of transfer node creations.
|
boolean |
refinerPreferenceForLocalTransferJobs(int type)
Boolean indicating Refiner preference for transfer jobs to run locally.
|
boolean |
refinerPreferenceForTransferJobLocation()
Boolean indicating whether the Transfer Refiner has a preference for
where a transfer job is run.
|
boolean |
runTPTOnRemoteSite(String site,
int type)
Returns whether the third party transfers for a particular site are to
be run on the remote site or the submit host.
|
boolean |
runTransferRemotely(String site,
int type)
Returns whether a Site prefers transfers to be run on it i.e remote transfers
enabled.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addInterSiteTXNodes, addJob, addRelation, addRelation, addStageOutXFERNodes, addStageOutXFERNodes, done, getDescription, loadImplementations
protected Implementation mTXStageInImplementation
protected Implementation mTXSymbolicLinkImplementation
protected Implementation mTXInterImplementation
protected Implementation mTXStageOutImplementation
protected ADag mDAG
protected PegasusProperties mProps
protected PlannerOptions mPOptions
protected LogManager mLogger
protected TPT mTPT
protected RemoteTransfer mRemoteTransfers
protected XMLProducer mXMLStore
public AbstractRefiner(ADag dag, PegasusBag bag)
dag
- the workflow to which transfer nodes need to be added.bag
- the bag of initialization objects.public ADag getWorkflow()
getWorkflow
in interface Refiner
public void addStageInXFERNodes(Job job, Collection<FileTransfer> files, Collection<FileTransfer> symlinkFiles)
job
- Job
object corresponding to the node to
which the files are to be transferred to.files
- Collection of FileTransfer
objects containing the
information about source and destURL's.symlinkFiles
- Collection of FileTransfer
objects containing
source and destination file url's for symbolic linking
on compute site.public void addStageInXFERNodes(Job job, Collection<FileTransfer> files)
job
- Job
object corresponding to the node to
which the files are to be transferred to.files
- Collection of FileTransfer
objects containing the
information about source and destURL's.public XMLProducer getXMLProducer()
getXMLProducer
in interface Refiner
public boolean refinerPreferenceForTransferJobLocation()
public boolean refinerPreferenceForLocalTransferJobs(int type)
type
- the type of transfer job for which the URL is being constructed.
Should be one of the following:
stage-in
stage-out
inter-pool transferpublic boolean runTransferRemotely(String site, int type)
site
- the name of the site.type
- the type of transfer job for which the URL is being constructed.
Should be one of the following:
stage-in
stage-out
inter-pool transferJob.STAGE_IN_JOB
,
Job.INTER_POOL_JOB
,
Job.STAGE_OUT_JOB
public boolean isSiteThirdParty(String site, int type)
site
- the name of the site.type
- the type of transfer job for which the URL is being constructed.
Should be one of the following:
stage-in
stage-out
inter-pool transferIllegalArgumentException
Job.STAGE_IN_JOB
,
Job.INTER_POOL_JOB
,
Job.STAGE_OUT_JOB
public boolean runTPTOnRemoteSite(String site, int type)
site
- the name of the site.type
- the type of transfer job for which the URL is being constructed.
Should be one of the following:
stage-in
stage-out
inter-pool transferJob.STAGE_IN_JOB
,
Job.INTER_POOL_JOB
,
Job.STAGE_OUT_JOB
protected void logConfigMessages()