Package edu.isi.pegasus.planner.transfer
Class MultipleFTPerXFERJobRefiner
- java.lang.Object
-
- edu.isi.pegasus.planner.transfer.AbstractRefiner
-
- edu.isi.pegasus.planner.transfer.MultipleFTPerXFERJobRefiner
-
public abstract class MultipleFTPerXFERJobRefiner extends AbstractRefiner
The refiner interface, that determines the functions that need to be implemented to add various types of transfer nodes to the workflow. The multiple in the name indicates that the refiner works only with the implementation that handles multiple file transfer per transfer job.- Version:
- $Revision$
- Author:
- Karan Vahi, Gaurang Mehta
-
-
Field Summary
-
Fields inherited from class edu.isi.pegasus.planner.transfer.AbstractRefiner
mDAG, mLogger, mPOptions, mProps, mRemoteTransfers, mTPT, mTXInterImplementation, mTXStageInImplementation, mTXStageOutImplementation, mTXSymbolicLinkImplementation, mXMLStore
-
Fields inherited from interface edu.isi.pegasus.planner.transfer.Refiner
INTER_POOL_PREFIX, LOCAL_PREFIX, REGISTER_PREFIX, REMOTE_PREFIX, STAGE_IN_PREFIX, STAGE_OUT_PREFIX
-
-
Constructor Summary
Constructors Constructor Description MultipleFTPerXFERJobRefiner(ADag dag, PegasusBag bag)
The overloaded constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkCompatibility(Implementation implementation)
Checks whether the implementation loaded is compatible with the refiner.void
loadImplementations(PegasusBag bag)
Loads the appropriate implementations that is required by this refinement strategy for different types of transfer jobs.-
Methods inherited from class edu.isi.pegasus.planner.transfer.AbstractRefiner
addStageInXFERNodes, addStageInXFERNodes, getWorkflow, getXMLProducer, isSiteThirdParty, logConfigMessages, refinerPreferenceForLocalTransferJobs, refinerPreferenceForTransferJobLocation, runTPTOnRemoteSite, runTransferRemotely
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface edu.isi.pegasus.planner.transfer.Refiner
addInterSiteTXNodes, addJob, addRelation, addRelation, addStageOutXFERNodes, addStageOutXFERNodes, done, getDescription
-
-
-
-
Constructor Detail
-
MultipleFTPerXFERJobRefiner
public MultipleFTPerXFERJobRefiner(ADag dag, PegasusBag bag)
The overloaded constructor.- Parameters:
dag
- the workflow to which transfer nodes need to be added.bag
- the bag of initialization objects.
-
-
Method Detail
-
loadImplementations
public void loadImplementations(PegasusBag bag) throws TransferImplementationFactoryException
Loads the appropriate implementations that is required by this refinement strategy for different types of transfer jobs. It calls to the factory method to load the appropriate Implementor. Loads the implementing class corresponding to the mode specified by the user at runtime in the properties file. The properties object passed should not be null.- Parameters:
bag
- the bag of initialization objects.- Throws:
TransferImplementationFactoryException
- that nests any error that might occur during the instantiation.java.lang.ClassCastException
- in case the incompatible implementation is loaded
-
checkCompatibility
private void checkCompatibility(Implementation implementation) throws java.lang.ClassCastException
Checks whether the implementation loaded is compatible with the refiner. If not throws a ClassCastException.- Parameters:
implementation
- the implementation whose compatibility needs to be checked.- Throws:
java.lang.ClassCastException
- in case the implementation is incompatible.
-
-