edu.isi.pegasus.planner.transfer
Class TPT

java.lang.Object
  extended by edu.isi.pegasus.planner.transfer.TPT

public class TPT
extends Object

A common class, that builds up the third party state for the sites from the properties file.

Version:
$Revision: 2567 $
Author:
Karan Vahi

Nested Class Summary
private  class TPT.TPTState
          An inner class that holds the third party state for a particular site.
 
Field Summary
static String ALL_SITES
          The constant to apply to all sites.
static String ALL_TPT_PROPERTY
          The property name to get the sites for which all transfers need to be TPT.
static String ALL_TPT_REMOTE_PROPERTY
          The property name to get the sites for which all TPT transfers need to be executed on the remote site.
static String INTER_TPT_PROPERTY
          The property name to get the sites for which inter site transfers need to be TPT.
static String INTER_TPT_REMOTE_PROPERTY
          The property name to get the sites for which inter site TPT transfers need to be executed on the remote site.
private  LogManager mLogger
          The handle to the logging object.
private static Map mPropertyTable
          An internal table that maps third party transfer type to the corresponding property.
private  PegasusProperties mProps
          The handle to the properties object holding the properties relevant to Pegasus.
private  Map mStateMap
          The map indexed by site name, that contains the state for all the sites.
static String STAGE_IN_TPT_PROPERTY
          The property name to get the sites for which stage-in transfers need to be TPT.
static String STAGE_IN_TPT_REMOTE_PROPERTY
          The property name to get the sites for which stage-in TPT transfers need to be executed on the remote site.
static String STAGE_OUT_TPT_PROPERTY
          The property name to get the sites for which stage-out transfers need to be TPT.
static String STAGE_OUT_TPT_REMOTE_PROPERTY
          The property name to get the sites for which stage-out TPT transfers need to be executed on the remote site.
 
Constructor Summary
TPT()
          The default constructor.
TPT(PegasusProperties properties)
          The overloaded constructor.
 
Method Summary
 void buildState()
          Builds up the third party state for all the sites.
private  void buildState(int type)
          Adds to the existing state table, state information for a particular type of transfers.
private  boolean containsKey(String site)
          Returns whether there is an entry for a particular site or not.
private  TPT.TPTState get(String site)
          Returns the TPT state for a particular site.
private  Set getThirdPartySites(String value)
          Returns a set of third party sites.
 boolean interThirdParty(String site)
          Returns a boolean indicating whether to use third party transfers for inter site transfers or not.
 boolean interThirdPartyRemote(String site)
          Returns a boolean indicating whether to execute third party transfers for inter site on remote site or not.
 void print()
          Prints out the third party state for the various sites.
private static Map propertyTable()
          Singleton access to the type table Contains the mapping of a property to the third party transfer type
private  void put(String site, TPT.TPTState state)
          Inserts an entry in to the State Map, that maintains state of various sites.
 boolean stageInThirdParty(String site)
          Returns a boolean indicating whether to use third party transfers for stage-in transfers or not.
 boolean stageInThirdPartyRemote(String site)
          Returns a boolean indicating whether to execute third party transfers for stage-in on remote site or not.
 boolean stageOutThirdParty(String site)
          Returns a boolean indicating whether to use third party transfers for stage-out transfers or not.
 boolean stageOutThirdPartyRemote(String site)
          Returns a boolean indicating whether to execute third party transfers for stage-out on remote site or not.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALL_SITES

public static final String ALL_SITES
The constant to apply to all sites.

See Also:
Constant Field Values

ALL_TPT_PROPERTY

public static final String ALL_TPT_PROPERTY
The property name to get the sites for which all transfers need to be TPT.

See Also:
Constant Field Values

STAGE_IN_TPT_PROPERTY

public static final String STAGE_IN_TPT_PROPERTY
The property name to get the sites for which stage-in transfers need to be TPT.

See Also:
Constant Field Values

INTER_TPT_PROPERTY

public static final String INTER_TPT_PROPERTY
The property name to get the sites for which inter site transfers need to be TPT.

See Also:
Constant Field Values

STAGE_OUT_TPT_PROPERTY

public static final String STAGE_OUT_TPT_PROPERTY
The property name to get the sites for which stage-out transfers need to be TPT.

See Also:
Constant Field Values

ALL_TPT_REMOTE_PROPERTY

public static final String ALL_TPT_REMOTE_PROPERTY
The property name to get the sites for which all TPT transfers need to be executed on the remote site.

See Also:
Constant Field Values

STAGE_IN_TPT_REMOTE_PROPERTY

public static final String STAGE_IN_TPT_REMOTE_PROPERTY
The property name to get the sites for which stage-in TPT transfers need to be executed on the remote site.

See Also:
Constant Field Values

INTER_TPT_REMOTE_PROPERTY

public static final String INTER_TPT_REMOTE_PROPERTY
The property name to get the sites for which inter site TPT transfers need to be executed on the remote site.

See Also:
Constant Field Values

STAGE_OUT_TPT_REMOTE_PROPERTY

public static final String STAGE_OUT_TPT_REMOTE_PROPERTY
The property name to get the sites for which stage-out TPT transfers need to be executed on the remote site.

See Also:
Constant Field Values

mPropertyTable

private static Map mPropertyTable
An internal table that maps third party transfer type to the corresponding property.


mProps

private PegasusProperties mProps
The handle to the properties object holding the properties relevant to Pegasus.


mLogger

private LogManager mLogger
The handle to the logging object.


mStateMap

private Map mStateMap
The map indexed by site name, that contains the state for all the sites.

Constructor Detail

TPT

public TPT()
The default constructor.


TPT

public TPT(PegasusProperties properties)
The overloaded constructor.

Parameters:
properties - handle to the properties required.
Method Detail

propertyTable

private static Map propertyTable()
Singleton access to the type table Contains the mapping of a property to the third party transfer type

Returns:
map

buildState

public void buildState()
Builds up the third party state for all the sites. This reflects what is set in the properties file.


buildState

private void buildState(int type)
Adds to the existing state table, state information for a particular type of transfers.

Parameters:
type - the type of transfer.

stageInThirdParty

public boolean stageInThirdParty(String site)
Returns a boolean indicating whether to use third party transfers for stage-in transfers or not.

Returns:
boolean

interThirdParty

public boolean interThirdParty(String site)
Returns a boolean indicating whether to use third party transfers for inter site transfers or not.

Returns:
boolean

stageOutThirdParty

public boolean stageOutThirdParty(String site)
Returns a boolean indicating whether to use third party transfers for stage-out transfers or not.

Returns:
boolean

stageInThirdPartyRemote

public boolean stageInThirdPartyRemote(String site)
Returns a boolean indicating whether to execute third party transfers for stage-in on remote site or not.

Returns:
boolean

interThirdPartyRemote

public boolean interThirdPartyRemote(String site)
Returns a boolean indicating whether to execute third party transfers for inter site on remote site or not.

Returns:
boolean

stageOutThirdPartyRemote

public boolean stageOutThirdPartyRemote(String site)
Returns a boolean indicating whether to execute third party transfers for stage-out on remote site or not.

Returns:
boolean

print

public void print()
Prints out the third party state for the various sites.


containsKey

private boolean containsKey(String site)
Returns whether there is an entry for a particular site or not.

Parameters:
site - the site handle for a site.
Returns:
boolean

put

private void put(String site,
                 TPT.TPTState state)
Inserts an entry in to the State Map, that maintains state of various sites.

Parameters:
site - the site handle for a site.
state - the thirdparty state for the site.

get

private TPT.TPTState get(String site)
Returns the TPT state for a particular site.

Parameters:
site - the site handle for the site.
Returns:
state the third party state for the site if there is an entry, else null.

getThirdPartySites

private Set getThirdPartySites(String value)
Returns a set of third party sites. An empty set is returned if value is null.

Parameters:
value - the value in the properties file.
Returns:
Set containing the names of the pools.


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