edu.isi.pegasus.planner.transfer.refiner
Class Bundle.PoolTransfer

java.lang.Object
  extended by edu.isi.pegasus.planner.transfer.refiner.Bundle.PoolTransfer
Enclosing class:
Bundle

protected class Bundle.PoolTransfer
extends 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
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 site
private  int mNext
          The index of the job to which the next transfer for the pool would be scheduled.
private  String mPool
          The remote pool for which these transfers are grouped.
private  List mTXContainers
          The list of TransferContainer that correspond to each transfer job.
 
Constructor Summary
Bundle.PoolTransfer()
          The default constructor.
Bundle.PoolTransfer(String pool, boolean localTransfer, int number)
          Convenience constructor.
 
Method Summary
 Bundle.TransferContainer addTransfer(Collection files, int level, int type)
          Adds a a collection of FileTransfer objects to the appropriate TransferContainer.
 String addTransfer(FileTransfer transfer, int type)
          Adds a file transfer to the appropriate TransferContainer.
 String getPoolName()
          Return the pool for which the transfers are grouped
private  String getRegJobName(int counter, int level)
          Generates the name of the transfer job, that is unique for the given workflow.
 Iterator getTransferContainerIterator()
          Returns the iterator to the list of transfer containers.
private  String getTXJobName(int counter, int type)
          Generates the name of the transfer job, that is unique for the given workflow.
private  String getTXJobName(int counter, int type, int level)
          Generates the name of the transfer job, that is unique for the given workflow.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 String mPool
The remote pool for which these transfers are grouped.


mTXContainers

private List mTXContainers
The list of TransferContainer that correspond to each transfer job.


mLocalTransfer

private boolean mLocalTransfer
boolean indicating whether the transfer job needs to run on local site

Constructor Detail

Bundle.PoolTransfer

public Bundle.PoolTransfer()
The default constructor.


Bundle.PoolTransfer

public Bundle.PoolTransfer(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 site
number - the number of transfer jobs that are going to be created for the pool.
Method Detail

addTransfer

public Bundle.TransferContainer addTransfer(Collection files,
                                            int level,
                                            int type)
Adds a a collection of FileTransfer 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 collection FileTransfer to be added.
level - the level of the workflow
type - the type of transfer job
Returns:
the Transfer Container to which the job file transfers were added.

addTransfer

public 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 - the FileTransfer 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 Iterator getTransferContainerIterator()
Returns the iterator to the list of transfer containers.

Returns:
the iterator.

getRegJobName

private 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 String getPoolName()
Return the pool for which the transfers are grouped

Returns:
name of pool.

getTXJobName

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


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