Class DAX2NewGraph

  • All Implemented Interfaces:
    Callback

    public class DAX2NewGraph
    extends java.lang.Object
    implements Callback
    An exploratory implementation that builds on the DAX2Graph. There is a graph object created that is returned.
    Version:
    $Revision$
    Author:
    Karan Vahi
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean mDone
      A flag to specify whether the graph has been generated for the partition or not.
      protected java.lang.String mLabel
      The label of the abstract dax.
      protected PegasusProperties mProps
      The handle to the properties object.
      protected Graph mWorkflow
      The Graph instance that stores the abstract workflow as a Graph.
      • Fields inherited from interface edu.isi.pegasus.planner.parser.dax.Callback

        VERSION
    • Constructor Summary

      Constructors 
      Constructor Description
      DAX2NewGraph()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cbCompoundTransformation​(CompoundTransformation compoundTransformation)
      Callback when a compound transformation is encountered in the DAX
      void cbDocument​(java.util.Map attributes)
      Callback when the opening tag was parsed.
      void cbDone()
      Callback to signal that traversal of the DAX is complete.
      void cbExecutable​(TransformationCatalogEntry tce)
      Callback when a transformation catalog entry is encountered in the DAX
      void cbFile​(ReplicaLocation rl)
      Callback when a replica catalog entry is encountered in the DAX
      void cbJob​(Job job)
      This constructs a graph node for the job and ends up storing it in the internal map.
      void cbParents​(java.lang.String child, java.util.List parents)
      This updates the internal graph nodes of child with references to it's parents referred to by the list of parents passed.
      void cbWfInvoke​(Invoke invoke)
      Callback when a invoke entry is encountered in the top level inside the adag element in the DAX.
      GraphNode get​(java.lang.String key)
      Returns the GraphNode of the corresponding id.
      java.lang.Object getConstructedObject()
      Returns the workflow represented in the Graph form.
      java.lang.String getNameOfDAX()
      Returns the name of the dax.
      void initialize​(PegasusBag bag, java.lang.String dax)
      The overloaded constructor.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • mWorkflow

        protected Graph mWorkflow
        The Graph instance that stores the abstract workflow as a Graph.
      • mDone

        protected boolean mDone
        A flag to specify whether the graph has been generated for the partition or not.
      • mLabel

        protected java.lang.String mLabel
        The label of the abstract dax.
    • Constructor Detail

      • DAX2NewGraph

        public DAX2NewGraph()
    • Method Detail

      • initialize

        public void initialize​(PegasusBag bag,
                               java.lang.String dax)
        The overloaded constructor.
        Specified by:
        initialize in interface Callback
        Parameters:
        bag - the bag of initialization objects containing the properties and the logger
        dax - the path to the DAX file.
      • getConstructedObject

        public java.lang.Object getConstructedObject()
        Returns the workflow represented in the Graph form.
        Specified by:
        getConstructedObject in interface Callback
        Returns:
        Graph containing the abstract workflow referred in the dax.
      • cbDocument

        public void cbDocument​(java.util.Map attributes)
        Callback when the opening tag was parsed. This contains all attributes and their raw values within a map. It ends up storing the attributes with the adag element in the internal memory structure.
        Specified by:
        cbDocument in interface Callback
        Parameters:
        attributes - is a map of attribute key to attribute value
      • cbWfInvoke

        public void cbWfInvoke​(Invoke invoke)
        Callback when a invoke entry is encountered in the top level inside the adag element in the DAX.
        Specified by:
        cbWfInvoke in interface Callback
        Parameters:
        invoke - the invoke object
      • cbJob

        public void cbJob​(Job job)
        This constructs a graph node for the job and ends up storing it in the internal map.
        Specified by:
        cbJob in interface Callback
        Parameters:
        job - the job that was parsed.
      • cbParents

        public void cbParents​(java.lang.String child,
                              java.util.List parents)
        This updates the internal graph nodes of child with references to it's parents referred to by the list of parents passed. It gets the handle to the parents graph nodes from it's internal map.
        Specified by:
        cbParents in interface Callback
        Parameters:
        child - the logical id of the child node.
        parents - list containing the logical id's of the parents of the child nodes.
      • getNameOfDAX

        public java.lang.String getNameOfDAX()
        Returns the name of the dax.
      • cbDone

        public void cbDone()
        Callback to signal that traversal of the DAX is complete. At this point a dummy root node is added to the graph, that is the parents to all the root nodes in the existing DAX.
        Specified by:
        cbDone in interface Callback
      • get

        public GraphNode get​(java.lang.String key)
        Returns the GraphNode of the corresponding id.
        Parameters:
        key - the id of the node.
        Returns:
        GraphNode.
      • cbCompoundTransformation

        public void cbCompoundTransformation​(CompoundTransformation compoundTransformation)
        Callback when a compound transformation is encountered in the DAX
        Specified by:
        cbCompoundTransformation in interface Callback
        Parameters:
        compoundTransformation - the compound transforamtion
      • cbFile

        public void cbFile​(ReplicaLocation rl)
        Callback when a replica catalog entry is encountered in the DAX
        Specified by:
        cbFile in interface Callback
        Parameters:
        rl - the ReplicaLocation object
      • cbExecutable

        public void cbExecutable​(TransformationCatalogEntry tce)
        Callback when a transformation catalog entry is encountered in the DAX
        Specified by:
        cbExecutable in interface Callback
        Parameters:
        tce - the transformationc catalog entry object.