| org.griphyn.cPlanner.transfer.Implementation
All known Subclasses: org.griphyn.cPlanner.transfer.implementation.Abstract,
Implementation | public interface Implementation (Code) | | The interface defines the functions that a particular Transfer Implementation
should implement. The functions deal with the creation of a TransferJob that
can transfer files using the transfer tool to which it refers to.
author: Karan Vahi author: Gaurang Mehta version: $Revision: 192 $ |
Field Summary | |
final public static String | TRANSFER_UNIVERSE The universe that applies for the transfer jobs. | final public static String | VERSION The version number associated with this API of Code Generator. |
Method Summary | |
public boolean | addSetXBitJobs(SubInfo computeJob, String txJobName, Collection execFiles, int transferClass) Adds the dirmanager job to the workflow, that do a chmod on the files
being staged. | public boolean | addSetXBitJobs(SubInfo computeJob, String txJobName, Collection execFiles, int transferClass, int xbitIndex) Adds the dirmanager job to the workflow, that do a chmod on the files
being staged.
Parameters: computeJob - the computeJob for which the files arebeing staged. Parameters: txJobName - the name of the transfer job that is staging the files. Parameters: execFiles - the executable files that are being staged. Parameters: transferClass - the class of transfer job Parameters: xbitIndex - index to be used for creating the name of XBitJob. | public void | applyPriority(TransferJob job) Applies priorities to the transfer jobs if a priority is specified
in the properties file. | public boolean | checkAndTransferProxy(TransferJob job) Determines if there is a need to transfer proxy for the transfer
job or not. | public TransferJob | createTransferJob(SubInfo job, Collection files, Collection execFiles, String txJobName, int jobClass) This constructs the SubInfo object for the transfer node. | public boolean | doesPreserveXBit() Returns a boolean indicating whether the transfer protocol being used by
the implementation preserves the X Bit or not while staging. | public String | getDescription() Returns a textual description of the transfer implementation. | public String | getSetXBitJobName(String name, int counter) Generates the name of the setXBitJob , that is unique for the given
workflow. | public TransformationCatalogEntry | getTransformationCatalogEntry(String siteHandle) Retrieves the transformation catalog entry for the executable that is
being used to transfer the files in the implementation.
Parameters: siteHandle - the handle of the site where the transformation isto be searched. | public void | setRefiner(Refiner refiner) Sets the callback to the refiner, that has loaded this implementation. | public boolean | useThirdPartyTransferAlways() Return a boolean indicating whether the transfers to be done always in
a third party transfer mode. |
TRANSFER_UNIVERSE | final public static String TRANSFER_UNIVERSE(Code) | | The universe that applies for the transfer jobs. Used for querying to the
Site Catalog.
|
VERSION | final public static String VERSION(Code) | | The version number associated with this API of Code Generator.
|
addSetXBitJobs | public boolean addSetXBitJobs(SubInfo computeJob, String txJobName, Collection execFiles, int transferClass)(Code) | | Adds the dirmanager job to the workflow, that do a chmod on the files
being staged.
Parameters: computeJob - the computeJob for which the files arebeing staged. Parameters: txJobName - the name of the transfer job that is staging the files. Parameters: execFiles - the executable files that are being staged. Parameters: transferClass - the class of transfer job boolean indicating whether any XBitJobs were succesfully added ornot. |
addSetXBitJobs | public boolean addSetXBitJobs(SubInfo computeJob, String txJobName, Collection execFiles, int transferClass, int xbitIndex)(Code) | | Adds the dirmanager job to the workflow, that do a chmod on the files
being staged.
Parameters: computeJob - the computeJob for which the files arebeing staged. Parameters: txJobName - the name of the transfer job that is staging the files. Parameters: execFiles - the executable files that are being staged. Parameters: transferClass - the class of transfer job Parameters: xbitIndex - index to be used for creating the name of XBitJob. boolean indicating whether any XBitJobs were succesfully added ornot. |
applyPriority | public void applyPriority(TransferJob job)(Code) | | Applies priorities to the transfer jobs if a priority is specified
in the properties file.
Parameters: job - the transfer job . |
checkAndTransferProxy | public boolean checkAndTransferProxy(TransferJob job)(Code) | | Determines if there is a need to transfer proxy for the transfer
job or not. If there is a need to transfer proxy, then the job is
modified to create the correct condor commands to transfer the proxy.
Proxy is usually transferred if the VDS profile TRANSFER_PROXY is set,
or the job is being run in the condor vanilla universe. The proxy is
transferred from the submit host (i.e site local). The location is
determined from the value of the X509_USER_PROXY profile key associated
in the env namespace.
Parameters: job - the transfer job . boolean true job was modified to transfer the proxy, elsefalse when job is not modified. |
createTransferJob | public TransferJob createTransferJob(SubInfo job, Collection files, Collection execFiles, String txJobName, int jobClass)(Code) | | This constructs the SubInfo object for the transfer node. The transfer is
supposed to occur at job execution site. It should lead to the creation
of the setup chmod jobs to the workflow, that appear as parents to compute
jobs in case the transfer implementation does not preserve the X bit
on the file being transferred. This is required for staging of executables
as part of the workflow.
Parameters: job - the SubInfo object for the job, in relation to whichthe transfer node is being added. Either the transfernode can be transferring this jobs input files tothe execution pool, or transferring this job's outputfiles to the output pool. Parameters: files - collection of FileTransfer objectsrepresenting the data files and staged executables to betransferred. Parameters: execFiles - subset collection of the files parameter, that identifiesthe executable files that are being transferred. Parameters: txJobName - the name of transfer node. Parameters: jobClass - the job Class for the newly added job. Can be one of thefollowing:stage-instage-outinter-pool transfer the created TransferJob. |
doesPreserveXBit | public boolean doesPreserveXBit()(Code) | | Returns a boolean indicating whether the transfer protocol being used by
the implementation preserves the X Bit or not while staging. If it does
not, then it should extend the Abstract implementation of this interface,
that allows for adding of a setup job after the stagein job that changes
the X Bit.
|
getDescription | public String getDescription()(Code) | | Returns a textual description of the transfer implementation.
a short textual description |
getSetXBitJobName | public String getSetXBitJobName(String name, int counter)(Code) | | Generates the name of the setXBitJob , that is unique for the given
workflow. If the implementation preserve the X bit, then it should
return null.
Parameters: name - the name of the compute job for which the executable isbeing staged. Parameters: counter - the index for the setXBit job. the name of the setXBitJob, null in case the implementationpreserves the XBit. |
getTransformationCatalogEntry | public TransformationCatalogEntry getTransformationCatalogEntry(String siteHandle)(Code) | | Retrieves the transformation catalog entry for the executable that is
being used to transfer the files in the implementation.
Parameters: siteHandle - the handle of the site where the transformation isto be searched. the transformation catalog entry if found, else null. |
setRefiner | public void setRefiner(Refiner refiner)(Code) | | Sets the callback to the refiner, that has loaded this implementation.
Parameters: refiner - the transfer refiner that loaded the implementation. |
useThirdPartyTransferAlways | public boolean useThirdPartyTransferAlways()(Code) | | 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".
boolean indicating whether to always use third party transfersor not. See Also: PegasusProperties.getThirdPartySites(String) |
|
|