org.griphyn.cPlanner.transfer
Class MultipleFTPerXFERJobRefiner

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

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: 50 $
Author:
Karan Vahi, Gaurang Mehta

Field Summary
 
Fields inherited from class org.griphyn.cPlanner.transfer.AbstractRefiner
mDAG, mLogger, mPOptions, mProps, mTPT, mTXInterImplementation, mTXStageInImplementation, mTXStageOutImplementation, mXMLStore
 
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
MultipleFTPerXFERJobRefiner(ADag dag, PegasusProperties properties, PlannerOptions options)
          The overloaded constructor.
 
Method Summary
private  void checkCompatibility(Implementation implementation)
          Checks whether the implementation loaded is compatible with the refiner.
 void loadImplementations(PegasusProperties properties, PlannerOptions options)
          Loads the appropriate implementations that is required by this refinement strategy for different types of transfer jobs.
 
Methods inherited from class org.griphyn.cPlanner.transfer.AbstractRefiner
getWorkflow, getXMLProducer, isSiteThirdParty, logConfigMessages, runTPTOnRemoteSite
 
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
 

Constructor Detail

MultipleFTPerXFERJobRefiner

public MultipleFTPerXFERJobRefiner(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

loadImplementations

public void loadImplementations(PegasusProperties properties,
                                PlannerOptions options)
                         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:
properties - the PegasusProperties object containing all the properties required by Pegasus.
options - the options with which the planner was invoked.
Throws:
TransferImplementationFactoryException - that nests any error that might occur during the instantiation.
ClassCastException - in case the incompatible implementation is loaded

checkCompatibility

private void checkCompatibility(Implementation implementation)
                         throws 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:
ClassCastException - in case the implementation is incompatible.


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