org.globus.transfer.reliable.service
Class TransferWork

java.lang.Object
  extended byorg.globus.transfer.reliable.service.TransferWork
All Implemented Interfaces:
Runnable, commonj.work.Work

public class TransferWork
extends Object
implements commonj.work.Work

Does the actual transfer


Field Summary
private  int attempts
           
private  ReliableFileTransferDbAdapter dbAdapter
           
private  DeleteClient deleteClient
           
private static Vector deleteClients
           
private  RFTFaultResourcePropertyType fault
           
private static org.globus.util.I18n i18n
           
private static org.apache.commons.logging.Log logger
           
private  int maxAttempts
           
private  OverallStatus overallStatus
           
private  ResourceProperty overallStatusRP
           
private  int requestId
           
private  RequestStatusType requestStatusType
           
private  ResourceProperty requestStatusTypeRP
           
private  RFTResourceManager resourceManager
           
private  ResourcePropertySet rpSet
           
private  int status
           
private  TransferClient transferClient
           
private static Vector transferClients
          List of transfer clients to be used across resources for same user.
private  TransferType transferJob
           
private  commonj.work.WorkManager workManager
           
 
Constructor Summary
TransferWork(int requestId, ResourcePropertySet rpSet, TransferType transferJob)
          Constructor for the TransferWork object
 
Method Summary
private  boolean checkDelete()
           
static void closeTransferClients(int requestId)
          Closes the active transfer clients when a resource is removed
private  DeleteClient getDeleteClient()
           
private  TransferClient getNewClient()
           
 int getStatus()
          Gets the status attribute of the TransferWork object
private  TransferClient getTransferClient()
          Gets the transferClient attribute of the TransferWork object
private  String getTransferIdentifiers()
           
 boolean isDaemon()
           
private  void processStates()
           
 void release()
          releases the thread resources
 void run()
          Main processing method for the TransferWork object
private  void setFault(Exception e)
           
private  void setRequestStatus()
          Sets the request status resource property
 void setResourceManager(RFTResourceManager resourceManager)
           
 void setTransferJob(TransferType transferJob)
           
 void setWorkManager(commonj.work.WorkManager workManager)
           
private  void startDirTransfer()
           
private  void startNewTransfer()
           
private  void statusChanged(int status)
          generates notification of status changes of a request
static void stopActiveTransfers(int requestId, int fromId, int toId)
          used to stop the active transfers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transferJob

private TransferType transferJob

status

private int status

attempts

private int attempts

requestId

private int requestId

dbAdapter

private ReliableFileTransferDbAdapter dbAdapter

logger

private static org.apache.commons.logging.Log logger

i18n

private static org.globus.util.I18n i18n

transferClients

private static Vector transferClients
List of transfer clients to be used across resources for same user.


deleteClients

private static Vector deleteClients

overallStatus

private OverallStatus overallStatus

overallStatusRP

private ResourceProperty overallStatusRP

requestStatusType

private RequestStatusType requestStatusType

requestStatusTypeRP

private ResourceProperty requestStatusTypeRP

rpSet

private ResourcePropertySet rpSet

maxAttempts

private int maxAttempts

workManager

private commonj.work.WorkManager workManager

fault

private RFTFaultResourcePropertyType fault

transferClient

private TransferClient transferClient

deleteClient

private DeleteClient deleteClient

resourceManager

private RFTResourceManager resourceManager
Constructor Detail

TransferWork

public TransferWork(int requestId,
                    ResourcePropertySet rpSet,
                    TransferType transferJob)
Constructor for the TransferWork object

Parameters:
requestId -
rpSet -
transferJob -
Method Detail

setTransferJob

public void setTransferJob(TransferType transferJob)
Parameters:
transferJob -

isDaemon

public boolean isDaemon()
Specified by:
isDaemon in interface commonj.work.Work
Returns:
The daemon value

release

public void release()
releases the thread resources

Specified by:
release in interface commonj.work.Work

getStatus

public int getStatus()
Gets the status attribute of the TransferWork object

Returns:
The status value

setResourceManager

public void setResourceManager(RFTResourceManager resourceManager)
                        throws RftDBException
Throws:
RftDBException

statusChanged

private void statusChanged(int status)
generates notification of status changes of a request

Parameters:
status -

setRequestStatus

private void setRequestStatus()
Sets the request status resource property


setWorkManager

public void setWorkManager(commonj.work.WorkManager workManager)
Parameters:
workManager -

stopActiveTransfers

public static void stopActiveTransfers(int requestId,
                                       int fromId,
                                       int toId)
used to stop the active transfers.

Parameters:
requestId -
toId -
fromId -

closeTransferClients

public static void closeTransferClients(int requestId)
Closes the active transfer clients when a resource is removed

Parameters:
requestId -

getTransferClient

private TransferClient getTransferClient()
                                  throws RftException,
                                         RftTransientException,
                                         RftDBException
Gets the transferClient attribute of the TransferWork object

Returns:
The transferClient value
Throws:
RftException
RftTransientException
RftDBException

getDeleteClient

private DeleteClient getDeleteClient()
                              throws RftDBException,
                                     RftException,
                                     RftTransientException
Throws:
RftDBException
RftException
RftTransientException

getNewClient

private TransferClient getNewClient()
                             throws RftException,
                                    RftTransientException,
                                    RftDBException
Throws:
RftException
RftTransientException
RftDBException

setFault

private void setFault(Exception e)

processStates

private void processStates()

startDirTransfer

private void startDirTransfer()

startNewTransfer

private void startNewTransfer()

checkDelete

private boolean checkDelete()

run

public void run()
Main processing method for the TransferWork object

Specified by:
run in interface Runnable

getTransferIdentifiers

private String getTransferIdentifiers()