Class Hashed
- java.lang.Object
-
- edu.isi.pegasus.planner.transfer.mapper.impl.AbstractFileFactoryBasedMapper
-
- edu.isi.pegasus.planner.transfer.mapper.impl.Hashed
-
- All Implemented Interfaces:
OutputMapper
public class Hashed extends AbstractFileFactoryBasedMapper
Maps the output files in a Hashed Directory structure on the output site.- Author:
- Karan Vahi
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringDESCRIPTIONShort description.private static intMAX_CACHE_ENTRIESThe maximum number of entries in the map, before the output site map is cleared.private intmNumberOfExistingLFNSprivate java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>mSiteLFNAddOnMapA Map that tracks for each output site, the LFN to the Add on'sstatic java.lang.StringSHORT_NAMEThe short name for the mapper-
Fields inherited from class edu.isi.pegasus.planner.transfer.mapper.impl.AbstractFileFactoryBasedMapper
mFactory, mLogger, mOutputSite, mSiteStore, mStageoutDirectory
-
Fields inherited from interface edu.isi.pegasus.planner.transfer.mapper.OutputMapper
VERSION
-
-
Constructor Summary
Constructors Constructor Description Hashed()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringcreateAndGetAddOn(java.lang.String lfn, java.lang.String site, boolean existing)Returns the addOn part that is retrieved from the File Factory.java.lang.Stringdescription()Returns a short description of the mapper.java.lang.StringgetShortName()Returns the short name for the implementation class.voidinitialize(PegasusBag bag, ADag workflow)Initializes the mappers.org.griphyn.vdl.euryale.FileFactoryinstantiateFileFactory(PegasusBag bag, ADag workflow)Method that instantiates the FileFactoryprivate voidresetLFNAddOnCache()Resets the internal cache.private voidtrackLFNAddOn(java.lang.String site, java.lang.String lfn, java.lang.String addOn)Tracks the lfn with addOn's on the various sites.-
Methods inherited from class edu.isi.pegasus.planner.transfer.mapper.impl.AbstractFileFactoryBasedMapper
complainForStorageFileServer, constructURL, getErrorMessagePrefix, lookupStorageDirectory, map, map, mapAll
-
-
-
-
Field Detail
-
SHORT_NAME
public static final java.lang.String SHORT_NAME
The short name for the mapper- See Also:
- Constant Field Values
-
DESCRIPTION
private static final java.lang.String DESCRIPTION
Short description.- See Also:
- Constant Field Values
-
mSiteLFNAddOnMap
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> mSiteLFNAddOnMap
A Map that tracks for each output site, the LFN to the Add on's
-
MAX_CACHE_ENTRIES
private static final int MAX_CACHE_ENTRIES
The maximum number of entries in the map, before the output site map is cleared.- See Also:
- Constant Field Values
-
mNumberOfExistingLFNS
private int mNumberOfExistingLFNS
-
-
Method Detail
-
initialize
public void initialize(PegasusBag bag, ADag workflow) throws MapperException
Initializes the mappers.- Specified by:
initializein interfaceOutputMapper- Overrides:
initializein classAbstractFileFactoryBasedMapper- Parameters:
bag- the bag of objects that is useful for initialization.workflow- the workflow refined so far.- Throws:
MapperException- if unable to construct URL for any reason
-
instantiateFileFactory
public org.griphyn.vdl.euryale.FileFactory instantiateFileFactory(PegasusBag bag, ADag workflow)
Method that instantiates the FileFactory- Specified by:
instantiateFileFactoryin classAbstractFileFactoryBasedMapper- Parameters:
bag- the bag of objects that is useful for initialization.workflow- the workflow refined so far.- Returns:
- the handle to the File Factory to use
-
createAndGetAddOn
public java.lang.String createAndGetAddOn(java.lang.String lfn, java.lang.String site, boolean existing)Returns the addOn part that is retrieved from the File Factory. It creates a new file in the factory for the LFN and returns it.- Specified by:
createAndGetAddOnin classAbstractFileFactoryBasedMapper- Parameters:
lfn- the LFN to be usedsite- the site at which the LFN residesexisting- indicates whether to create a new location/placement for a file, or rely on existing placement on the site.- Returns:
-
trackLFNAddOn
private void trackLFNAddOn(java.lang.String site, java.lang.String lfn, java.lang.String addOn)Tracks the lfn with addOn's on the various sites.- Parameters:
site-lfn-addOn-
-
getShortName
public java.lang.String getShortName()
Returns the short name for the implementation class.- Specified by:
getShortNamein classAbstractFileFactoryBasedMapper- Returns:
-
description
public java.lang.String description()
Returns a short description of the mapper.- Returns:
-
resetLFNAddOnCache
private void resetLFNAddOnCache()
Resets the internal cache.
-
-