org.griphyn.cPlanner.transfer.implementation
Class AbstractMultipleFTPerXFERJob

java.lang.Object
  extended byorg.griphyn.cPlanner.transfer.implementation.Abstract
      extended byorg.griphyn.cPlanner.transfer.implementation.AbstractMultipleFTPerXFERJob
All Implemented Interfaces:
Implementation, MultipleFTPerXFERJob
Direct Known Subclasses:
CRFT, RFT, T2, Transfer

public abstract class AbstractMultipleFTPerXFERJob
extends Abstract
implements MultipleFTPerXFERJob

An abstract implementation for implementations that can handle multiple file transfers in a single file transfer job.

Version:
$Revision: 1.1 $
Author:
Karan Vahi

Field Summary
 
Fields inherited from class org.griphyn.cPlanner.transfer.implementation.Abstract
CHANGE_XBIT_TRANSFORMATION, mLocalUserProxy, mLocalUserProxyBasename, mLogger, mPOptions, mProps, mRefiner, mSCHandle, mTCHandle, SET_XBIT_PREFIX, XBIT_DERIVATION_NS, XBIT_DERIVATION_VERSION, XBIT_TRANSFORMATION_NS, XBIT_TRANSFORMATION_VERSION
 
Fields inherited from interface org.griphyn.cPlanner.transfer.Implementation
TRANSFER_UNIVERSE
 
Constructor Summary
AbstractMultipleFTPerXFERJob(PegasusProperties properties, PlannerOptions options)
          The overloaded constructor, that is called by the Factory to load the class.
 
Method Summary
 TransferJob createTransferJob(SubInfo job, Collection files, Collection execFiles, String txJobName, int jobClass)
          Constructs a general transfer job that handles multiple transfers per transfer job.
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  String prepareSTDIN(String name, Collection files)
          Prepares the stdin for the transfer job.
protected abstract  void writeJumboStdIn(FileWriter stdIn, Collection files)
          Writes to a FileWriter stream the stdin which goes into the magic script via standard input
 
Methods inherited from class org.griphyn.cPlanner.transfer.implementation.Abstract
addSetXBitJobs, addSetXBitJobs, applyPriority, checkAndTransferProxy, createSetXBitJob, getPathToUserProxy, getPriority, getSetXBitJobName, setRefiner
 
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.Implementation
doesPreserveXBit, getDescription, getTransformationCatalogEntry, useThirdPartyTransferAlways
 

Constructor Detail

AbstractMultipleFTPerXFERJob

public AbstractMultipleFTPerXFERJob(PegasusProperties properties,
                                    PlannerOptions options)
The overloaded constructor, that is called by the Factory to load the class.

Parameters:
properties - the properties object.
options - the options passed to the Planner.
Method Detail

createTransferJob

public TransferJob createTransferJob(SubInfo job,
                                     Collection files,
                                     Collection execFiles,
                                     String txJobName,
                                     int jobClass)
Constructs a general transfer job that handles multiple transfers per transfer job. There are appropriate callouts to generate the implementation specific details.

Specified by:
createTransferJob in interface Implementation
Parameters:
job - the SubInfo 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.
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
Returns:
the created TransferJob.

prepareSTDIN

protected String prepareSTDIN(String name,
                              Collection files)
                       throws Exception
Prepares the stdin for the transfer job. Usually involves writing out a text file that Condor transfers to the remote end.

Parameters:
name - the name of the transfer job.
files - Collection of FileTransfer objects containing the information about sourceam fin and destURL's.
Returns:
the path to the prepared stdin file.
Throws:
Exception - in case of error.

getDerivationNamespace

protected abstract String getDerivationNamespace()
Returns the namespace of the derivation that this implementation refers to.

Returns:
the namespace of the derivation.

getDerivationName

protected abstract String getDerivationName()
Returns the logical name of the derivation that this implementation refers to.

Returns:
the name of the derivation.

getDerivationVersion

protected abstract String getDerivationVersion()
Returns the version of the derivation that this implementation refers to.

Returns:
the version of the derivation.

generateArgumentString

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.

Parameters:
job - the object containing the transfer node.
Returns:
the argument string

writeJumboStdIn

protected abstract void writeJumboStdIn(FileWriter stdIn,
                                        Collection files)
                                 throws Exception
Writes to a FileWriter stream the stdin which goes into the magic script via standard input

Parameters:
stdIn - the writer to the stdin file.
files - Collection of FileTransfer objects containing the information about sourceam fin and destURL's.
Throws:
Exception

getCompleteTCName

protected abstract String getCompleteTCName()
Returns the complete name for the transformation that the implementation is using..

Returns:
the complete name.


Copyright © 2003 The University of Chicago and The University of Southern California. All Rights Reserved.