Class Bundle.PoolTransfer
- java.lang.Object
-
- edu.isi.pegasus.planner.transfer.refiner.Bundle.PoolTransfer
-
- Enclosing class:
- Bundle
protected class Bundle.PoolTransfer extends java.lang.Object
A container to store the transfers that need to be done on a single pool. The transfers are stored over a collection of Transfer Containers with each transfer container responsible for one transfer job.
-
-
Field Summary
Fields Modifier and Type Field Description private int
mCapacity
The maximum number of transfer jobs that are allowed for this particular pool.private boolean
mLocalTransfer
boolean indicating whether the transfer job needs to run on local siteprivate int
mNext
The index of the job to which the next transfer for the pool would be scheduled.private java.lang.String
mPool
The remote pool for which these transfers are grouped.private java.util.List
mTXContainers
The list ofTransferContainer
that correspond to each transfer job.
-
Constructor Summary
Constructors Constructor Description PoolTransfer()
The default constructor.PoolTransfer(java.lang.String pool, boolean localTransfer, int number)
Convenience constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
addTransfer(FileTransfer transfer, int type)
Adds a file transfer to the appropriate TransferContainer.Bundle.TransferContainer
addTransfer(java.util.Collection files, int level, int type)
Adds a a collection ofFileTransfer
objects to the appropriate TransferContainer.java.lang.String
getPoolName()
Return the pool for which the transfers are groupedprivate java.lang.String
getRegJobName(int counter, int level)
Generates the name of the transfer job, that is unique for the given workflow.java.util.Iterator
getTransferContainerIterator()
Returns the iterator to the list of transfer containers.private java.lang.String
getTXJobName(int counter, int type)
Generates the name of the transfer job, that is unique for the given workflow.private java.lang.String
getTXJobName(int counter, int type, int level)
Generates the name of the transfer job, that is unique for the given workflow.
-
-
-
Field Detail
-
mCapacity
private int mCapacity
The maximum number of transfer jobs that are allowed for this particular pool.
-
mNext
private int mNext
The index of the job to which the next transfer for the pool would be scheduled.
-
mPool
private java.lang.String mPool
The remote pool for which these transfers are grouped.
-
mTXContainers
private java.util.List mTXContainers
The list ofTransferContainer
that correspond to each transfer job.
-
mLocalTransfer
private boolean mLocalTransfer
boolean indicating whether the transfer job needs to run on local site
-
-
Constructor Detail
-
PoolTransfer
public PoolTransfer()
The default constructor.
-
PoolTransfer
public PoolTransfer(java.lang.String pool, boolean localTransfer, int number)
Convenience constructor.- Parameters:
pool
- the pool name for which transfers are being grouped.localTransfer
- whether the transfers need to be run on local sitenumber
- the number of transfer jobs that are going to be created for the pool.
-
-
Method Detail
-
addTransfer
public Bundle.TransferContainer addTransfer(java.util.Collection files, int level, int type)
Adds a a collection ofFileTransfer
objects to the appropriate TransferContainer. The collection is added to a single TransferContainer, and the pointer is then updated to the next container.- Parameters:
files
- the collectionFileTransfer
to be added.level
- the level of the workflowtype
- the type of transfer job- Returns:
- the Transfer Container to which the job file transfers were added.
-
addTransfer
public java.lang.String addTransfer(FileTransfer transfer, int type)
Adds a file transfer to the appropriate TransferContainer. The file transfers are added in a round robin manner underneath.- Parameters:
transfer
- theFileTransfer
containing the information about a single transfer.type
- the type of transfer job- Returns:
- the name of the transfer job to which the transfer is added.
-
getTransferContainerIterator
public java.util.Iterator getTransferContainerIterator()
Returns the iterator to the list of transfer containers.- Returns:
- the iterator.
-
getRegJobName
private java.lang.String getRegJobName(int counter, int level)
Generates the name of the transfer job, that is unique for the given workflow.- Parameters:
counter
- the index for the registration job.level
- the level of the workflow.- Returns:
- the name of the transfer job.
-
getPoolName
public java.lang.String getPoolName()
Return the pool for which the transfers are grouped- Returns:
- name of pool.
-
getTXJobName
private java.lang.String getTXJobName(int counter, int type, int level)
Generates the name of the transfer job, that is unique for the given workflow.- Parameters:
counter
- the index for the transfer job.type
- the type of transfer job.level
- the level of the workflow.- Returns:
- the name of the transfer job.
-
getTXJobName
private java.lang.String getTXJobName(int counter, int type)
Generates the name of the transfer job, that is unique for the given workflow.- Parameters:
counter
- the index for the transfer job.type
- the type of transfer job.- Returns:
- the name of the transfer job.
-
-