edu.isi.pegasus.planner.transfer.implementation
Class TPTGUC

java.lang.Object
  extended by edu.isi.pegasus.planner.transfer.implementation.Abstract
      extended by edu.isi.pegasus.planner.transfer.implementation.AbstractMultipleFTPerXFERJob
          extended by edu.isi.pegasus.planner.transfer.implementation.GUC
              extended by edu.isi.pegasus.planner.transfer.implementation.TPTGUC
All Implemented Interfaces:
Implementation, MultipleFTPerXFERJob

public class TPTGUC
extends GUC

The implementation that is used to create transfer jobs that callout to the new globus-url-copy client, that support multiple file transfers

In order to use the transfer implementation implemented by this class,

        - the property pegasus.transfer.*.impl must be set to value TPTGUC.
 

There should be an entry in the transformation catalog with the fully qualified name as globus::guc for all the sites where workflow is run, or on the local site in case of third party transfers. Pegasus can automatically construct the path to the globus-url-copy client, if the environment variable GLOBUS_LOCATION is specified in the site catalog for the site.

The arguments with which the client is invoked can be specified

       - by specifying the property pegasus.transfer.arguments
       - associating the Pegasus profile key transfer.arguments
 

Version:
$Revision: 4720 $
Author:
Karan Vahi

Field Summary
 
Fields inherited from class edu.isi.pegasus.planner.transfer.implementation.GUC
DERIVATION_NAME, DERIVATION_NAMESPACE, DERIVATION_VERSION, DESCRIPTION, mNumOfTXStreams, mUseForce, TRANSFORMATION_NAME, TRANSFORMATION_NAMESPACE, TRANSFORMATION_VERSION
 
Fields inherited from class edu.isi.pegasus.planner.transfer.implementation.Abstract
CHANGE_XBIT_TRANSFORMATION, mAddNodesForSettingXBit, mChmodDisabledForAllSites, mDisabledChmodSites, mLocalIrodsEnv, mLocalIrodsEnvBasename, mLocalS3cfg, mLocalS3cfgBasename, mLocalUserProxy, mLocalUserProxyBasename, mLogger, mPOptions, mProps, mRefiner, mSiteStore, mTCHandle, NOOP_PREFIX, SET_XBIT_PREFIX, XBIT_DERIVATION_NS, XBIT_DERIVATION_VERSION, XBIT_EXECUTABLE_BASENAME, XBIT_TRANSFORMATION_NS, XBIT_TRANSFORMATION_VERSION
 
Fields inherited from interface edu.isi.pegasus.planner.transfer.Implementation
TRANSFER_UNIVERSE, VERSION
 
Constructor Summary
TPTGUC(PegasusBag bag)
          The overloaded constructor, that is called by the Factory to load the class.
 
Method Summary
protected  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.
 void postProcess(TransferJob job)
          Makes sure the stdin is transferred by the Condor File Transfer Mechanism.
 boolean useThirdPartyTransferAlways()
          Return a boolean indicating whether the transfers to be done always in a third party transfer mode.
 
Methods inherited from class edu.isi.pegasus.planner.transfer.implementation.GUC
defaultTCEntry, doesPreserveXBit, getCompleteTCName, getDerivationName, getDerivationNamespace, getDerivationVersion, getDescription, getEnvironmentVariables, getTransformationCatalogEntry, writeStdInAndAssociateCredentials
 
Methods inherited from class edu.isi.pegasus.planner.transfer.implementation.AbstractMultipleFTPerXFERJob
createTransferJob, defaultTCEntry, prepareSTDINAndAssociateCredentials
 
Methods inherited from class edu.isi.pegasus.planner.transfer.implementation.Abstract
addSetXBitJobs, addSetXBitJobs, addSetXBitJobs, applyPriority, checkAndTransferIrodsEnvFile, checkAndTransferProxy, construct, createNoOPJob, createSetXBitJob, createSetXBitJob, createSetXBitJob, determineDisabledChmodSites, disableChmodJobCreation, getNOOPJobName, getPriority, getSetXBitJobName, setRefiner
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TPTGUC

public TPTGUC(PegasusBag bag)
The overloaded constructor, that is called by the Factory to load the class.

Parameters:
bag - the bag of Pegasus initialization objects.
Method Detail

useThirdPartyTransferAlways

public boolean useThirdPartyTransferAlways()
Return a boolean indicating whether the transfers to be done always in a third party transfer mode. A value of false, results in the direct or peer to peer transfers being done.

A value of false does not preclude third party transfers. They still can be done, by setting the property "pegasus.transfer.*.thirdparty.sites".

Specified by:
useThirdPartyTransferAlways in interface Implementation
Overrides:
useThirdPartyTransferAlways in class GUC
Returns:
true always
See Also:
PegasusProperties.getThirdPartySites(String)

generateArgumentString

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

Overrides:
generateArgumentString in class GUC
Parameters:
job - the object containing the transfer node.
Returns:
the argument string

postProcess

public void postProcess(TransferJob job)
Makes sure the stdin is transferred by the Condor File Transfer Mechanism. In addition, the stdin is set to null, after the file has been marked for transfer by Condor File Transfer Mechanism.

Overrides:
postProcess in class GUC
Parameters:
job - the TransferJob that has been created.


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