Class WriterCallback
- java.lang.Object
-
- edu.isi.pegasus.planner.partitioner.WriterCallback
-
- All Implemented Interfaces:
Callback
public class WriterCallback extends java.lang.Object implements Callback
This callback writes out aDAX
file for each of the partitions, and also writes out aPDAX
file that captures the relations between the partitions.- Version:
- $Revision$
- Author:
- not attributable
-
-
Field Summary
Fields Modifier and Type Field Description protected DAXWriter
mDAXWriter
The handle to the dax writer that writes out the dax corresponding to the partition identified.protected LogManager
mLogger
The handle to the logger object.protected boolean
mPartitioningStarted
A boolean indicating that the partitioning has started.protected java.lang.String
mPDAX
The path to the PDAX file written out.protected PDAXWriter
mPDAXWriter
The handle to the partition graph writer.protected PegasusProperties
mProps
Handle to the properties available.
-
Constructor Summary
Constructors Constructor Description WriterCallback()
The default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cbDone()
Callback for the partitioner to signal that it is done with the processing.void
cbParents(java.lang.String child, java.util.List parents)
Callback for when a partitioner determines the relations between partitions that it has previously constructed.void
cbPartition(Partition p)
Callback for when a partitioner determines that partition has been constructed.protected PDAXWriter
getHandletoPDAXWriter(java.lang.String daxFile, java.lang.String name, java.lang.String directory)
It returns the handle to the writer for writing out the pdax file that contains the relations amongst the partitions and the jobs making up the partitions.protected java.lang.String
getPartitionName()
Returns the name of the partition, that needs to be set while creating the Partition object corresponding to each partition.java.lang.String
getPDAX()
Returns the name of the pdax file written out.void
initialize(PegasusProperties properties, java.lang.String daxFile, java.lang.String daxName, java.lang.String directory)
Initializes the Writer Callback.protected java.lang.String
partitionRelation2XML(java.lang.String childID, java.lang.String parentID)
Returns the xml description of a relation between 2 partitions.protected java.lang.String
partitionRelation2XML(java.lang.String childID, java.util.List parentIDs)
Returns the xml description of a relation between 2 partitions.protected java.lang.String
partitionRelation2XML(java.lang.String childID, java.util.Set parentIDs)
Returns the xml description of a relation between 2 partitions.
-
-
-
Field Detail
-
mPDAXWriter
protected PDAXWriter mPDAXWriter
The handle to the partition graph writer.
-
mDAXWriter
protected DAXWriter mDAXWriter
The handle to the dax writer that writes out the dax corresponding to the partition identified. The base name of the partition is gotten from it.
-
mPDAX
protected java.lang.String mPDAX
The path to the PDAX file written out.
-
mProps
protected PegasusProperties mProps
Handle to the properties available.
-
mLogger
protected LogManager mLogger
The handle to the logger object.
-
mPartitioningStarted
protected boolean mPartitioningStarted
A boolean indicating that the partitioning has started. This is set, by the first call to the cbPartition( Partition ) callback.
-
-
Method Detail
-
initialize
public void initialize(PegasusProperties properties, java.lang.String daxFile, java.lang.String daxName, java.lang.String directory)
Initializes the Writer Callback.- Parameters:
properties
- the properties passed to the planner.daxFile
- the path to the DAX file that is being partitioned.daxName
- the namelabel of the DAX as set in the root element of the DAX.directory
- the directory where the partitioned daxes have to reside.
-
cbPartition
public void cbPartition(Partition p)
Callback for when a partitioner determines that partition has been constructed. A DAX file is written out for the partition.- Specified by:
cbPartition
in interfaceCallback
- Parameters:
p
- the constructed partition.- Throws:
java.lang.RuntimeException
- in case of any error while writing out the DAX or the PDAX files.
-
cbParents
public void cbParents(java.lang.String child, java.util.List parents)
Callback for when a partitioner determines the relations between partitions that it has previously constructed.
-
cbDone
public void cbDone()
Callback for the partitioner to signal that it is done with the processing. This internally closes all the handles to the DAX and PDAX writers.
-
getPDAX
public java.lang.String getPDAX()
Returns the name of the pdax file written out. Will be null if the partitioning has not completed.- Returns:
- path to the pdax file.
-
getPartitionName
protected java.lang.String getPartitionName()
Returns the name of the partition, that needs to be set while creating the Partition object corresponding to each partition.- Returns:
- the name of the partition.
-
getHandletoPDAXWriter
protected PDAXWriter getHandletoPDAXWriter(java.lang.String daxFile, java.lang.String name, java.lang.String directory)
It returns the handle to the writer for writing out the pdax file that contains the relations amongst the partitions and the jobs making up the partitions.- Parameters:
daxFile
- the path to the DAX file that is being partitioned.name
- the name/label that is to be assigned to the pdax file.directory
- the directory where the partitioned daxes have to reside.- Returns:
- handle to the writer of pdax file.
-
partitionRelation2XML
protected java.lang.String partitionRelation2XML(java.lang.String childID, java.lang.String parentID)
Returns the xml description of a relation between 2 partitions.- Parameters:
childID
- the ID of the child.parentID
- the ID of the parent.- Returns:
- the XML description of child parent relation.
-
partitionRelation2XML
protected java.lang.String partitionRelation2XML(java.lang.String childID, java.util.List parentIDs)
Returns the xml description of a relation between 2 partitions.- Parameters:
childID
- the ID of the childparentIDs
-List
of parent IDs.- Returns:
- the XML description of child parent relations.
-
partitionRelation2XML
protected java.lang.String partitionRelation2XML(java.lang.String childID, java.util.Set parentIDs)
Returns the xml description of a relation between 2 partitions.- Parameters:
childID
- the ID of the childparentIDs
-Set
of parent IDs.- Returns:
- the XML description of child parent relations.
-
-