org.griphyn.cPlanner.transfer
Class AbstractRefiner

java.lang.Object
  extended by org.griphyn.cPlanner.transfer.AbstractRefiner
All Implemented Interfaces:
Refiner
Direct Known Subclasses:
MultipleFTPerXFERJobRefiner, SingleFTPerXFERJobRefiner

public abstract class AbstractRefiner
extends Object
implements Refiner

An abstract implementation that implements some of the common functions in the Refiner Interface and member variables that are required by all the refiners.

Version:
$Revision: 244 $
Author:
Karan Vahi

Field Summary
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  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  XMLProducer mXMLStore
          The XML Producer object that records the actions.
 
Fields inherited from interface org.griphyn.cPlanner.transfer.Refiner
INTER_POOL_PREFIX, REGISTER_PREFIX, STAGE_IN_PREFIX, STAGE_OUT_PREFIX
 
Fields inherited from interface org.griphyn.cPlanner.engine.Refiner
VERSION
 
Constructor Summary
AbstractRefiner(ADag dag, PegasusProperties properties, PlannerOptions options)
          The overloaded constructor.
 
Method Summary
 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 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.griphyn.cPlanner.transfer.Refiner
addInterSiteTXNodes, addJob, addRelation, addRelation, addStageInXFERNodes, addStageOutXFERNodes, addStageOutXFERNodes, done, getDescription, loadImplementations
 

Field Detail

mTXStageInImplementation

protected Implementation mTXStageInImplementation
The stage-in transfer implementation that the refiner requires.


mTXInterImplementation

protected Implementation mTXInterImplementation
The inter transfer implementation that the refiner requires.


mTXStageOutImplementation

protected Implementation mTXStageOutImplementation
The stage-out transfer implementation that the refiner requires.


mDAG

protected ADag mDAG
The ADag object associated with the Dag. This is the object to which the transfer nodes are added. This object is initialised in the TransferEngine.


mProps

protected PegasusProperties mProps
The handle to the properties object holding the properties relevant to Pegasus.


mPOptions

protected PlannerOptions mPOptions
The options passed to the planner at runtime.


mLogger

protected LogManager mLogger
The logging object which is used to log all the messages.

See Also:
LogManager

mTPT

protected TPT mTPT
The handle to the Third Party State machinery.


mXMLStore

protected XMLProducer mXMLStore
The XML Producer object that records the actions.

Constructor Detail

AbstractRefiner

public AbstractRefiner(ADag dag,
                       PegasusProperties properties,
                       PlannerOptions options)
The overloaded constructor.

Parameters:
dag - the workflow to which transfer nodes need to be added.
properties - the PegasusProperties object containing all the properties required by Pegasus.
options - the options passed to the planner.
Method Detail

getWorkflow

public ADag getWorkflow()
Returns a reference to the workflow that is being refined by the refiner.

Specified by:
getWorkflow in interface Refiner
Returns:
ADAG object.

getXMLProducer

public XMLProducer getXMLProducer()
Returns a reference to the XMLProducer, that generates the XML fragment capturing the actions of the refiner. This is used for provenace purposes.

Specified by:
getXMLProducer in interface Refiner
Returns:
XMLProducer

isSiteThirdParty

public boolean isSiteThirdParty(String site,
                                int type)
Returns whether a Site is third party enabled or not.

Parameters:
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 transfer
Returns:
true pool is third party enabled false pool is not third party enabled.
Throws:
IllegalArgumentException
See Also:
SubInfo.STAGE_IN_JOB, SubInfo.INTER_POOL_JOB, SubInfo.STAGE_OUT_JOB

runTPTOnRemoteSite

public 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.

Parameters:
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 transfer
Returns:
true if the transfers are to be run on remote site, else false.
See Also:
SubInfo.STAGE_IN_JOB, SubInfo.INTER_POOL_JOB, SubInfo.STAGE_OUT_JOB

logConfigMessages

protected void logConfigMessages()
Logs configuration messages regarding the type of implementations loaded for various type of transfer node creations.



Copyright © 2007 The University of Southern California. All Rights Reserved.