edu.isi.pegasus.planner.parser
Class DAXParserFactory

java.lang.Object
  extended by edu.isi.pegasus.planner.parser.DAXParserFactory

public class DAXParserFactory
extends Object

A factory class to load the appropriate DAX Parser and Callback implementations that need to be passed to the DAX Parser.

Version:
$Revision: 3820 $
Author:
Karan Vahi

Field Summary
static String DAX_PARSER2_CLASS
          The DAXParser3 classname
static String DAX_PARSER3_CLASS
          The DAXParser3 classname
static long DAX_VERSION_3_2_0
           
static String DEFAULT_CALLBACK_PACKAGE_NAME
          Package to prefix "just" class names with.
static String DEFAULT_DAX_PARSER_CLASS
          The default DAXParser classname
static String DEFAULT_PARSER_PACKAGE_NAME
          Package to prefix "just" class names with.
static String LABEL_CALLBACK_CLASS
          The default callback for label partitioning.
 
Constructor Summary
DAXParserFactory()
           
 
Method Summary
static Map getDAXMetadata(PegasusBag bag, String dax)
          Returns the metadata stored in the root adag element in the DAX
static DAXParser loadDAXParser(PegasusBag bag, Callback c, String daxFile)
          Loads the appropriate DAXParser looking at the dax schema that is specified in the DAX file.
static DAXParser loadDAXParser(PegasusBag bag, String callbackClass, String daxFile)
          Loads the appropriate DAXParser looking at the dax schema that is specified by the user.
static DAXParser loadDAXParser(String classname, PegasusBag bag, Callback c)
          Loads the appropriate DAXParser looking at the dax schema that is specified by the user.
static Callback loadDAXParserCallback(PegasusProperties properties, String dax, String className)
          Loads the implementing class corresponding to the type specified by the user.
static Callback loadDAXParserCallback(String type, PegasusProperties properties, String dax)
          Loads the implementing class corresponding to the type specified by the user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LABEL_CALLBACK_CLASS

public static String LABEL_CALLBACK_CLASS
The default callback for label partitioning.


DEFAULT_PARSER_PACKAGE_NAME

public static final String DEFAULT_PARSER_PACKAGE_NAME
Package to prefix "just" class names with.

See Also:
Constant Field Values

DEFAULT_CALLBACK_PACKAGE_NAME

public static final String DEFAULT_CALLBACK_PACKAGE_NAME
Package to prefix "just" class names with.

See Also:
Constant Field Values

DAX_VERSION_3_2_0

public static final long DAX_VERSION_3_2_0

DEFAULT_DAX_PARSER_CLASS

public static final String DEFAULT_DAX_PARSER_CLASS
The default DAXParser classname

See Also:
Constant Field Values

DAX_PARSER2_CLASS

public static final String DAX_PARSER2_CLASS
The DAXParser3 classname

See Also:
Constant Field Values

DAX_PARSER3_CLASS

public static final String DAX_PARSER3_CLASS
The DAXParser3 classname

See Also:
Constant Field Values
Constructor Detail

DAXParserFactory

public DAXParserFactory()
Method Detail

loadDAXParser

public static DAXParser loadDAXParser(PegasusBag bag,
                                      String callbackClass,
                                      String daxFile)
                               throws DAXParserFactoryException
Loads the appropriate DAXParser looking at the dax schema that is specified by the user.

Parameters:
bag - bag of Pegasus intialization objects
callbackClass - the dax callback class
dax - file the dax file
Returns:
the DAXParser loaded.
Throws:
DAXParserFactoryException - that nests any error that might occur during the instantiation
See Also:
DEFAULT_CALLBACK_PACKAGE_NAME

loadDAXParser

public static DAXParser loadDAXParser(PegasusBag bag,
                                      Callback c,
                                      String daxFile)
                               throws DAXParserFactoryException
Loads the appropriate DAXParser looking at the dax schema that is specified in the DAX file.

Parameters:
bag - bag of Pegasus intialization objects
c - the dax callback.
daxFile - the dax file to parser
Returns:
the DAXParser loaded.
Throws:
DAXParserFactoryException - that nests any error that might occur during the instantiation
See Also:
DEFAULT_CALLBACK_PACKAGE_NAME

loadDAXParser

public static final DAXParser loadDAXParser(String classname,
                                            PegasusBag bag,
                                            Callback c)
Loads the appropriate DAXParser looking at the dax schema that is specified by the user.

Parameters:
classname - the classname of the parser class that needs to be loaded
bag - bag of Pegasus intialization objects
c - the DAX Callback to use
Returns:
the DAXParser loaded.
Throws:
DAXParserFactoryException - that nests any error that might occur during the instantiation
See Also:
DEFAULT_CALLBACK_PACKAGE_NAME

loadDAXParserCallback

public static Callback loadDAXParserCallback(String type,
                                             PegasusProperties properties,
                                             String dax)
                                      throws DAXParserFactoryException
Loads the implementing class corresponding to the type specified by the user. The properties object passed should not be null. The callback that is loaded, is the one referred to in the properties by the user, unless the type of partitioning is label. In that case DAX2LabelGraph is loaded always.

Parameters:
properties - the PegasusProperties object containing all the properties required by Pegasus.
type - the type of partitioning the user specified.
dax - the path to the DAX file that has to be parsed.
Returns:
the instance of the class implementing this interface.
Throws:
DAXParserFactoryException - that nests any error that might occur during the instantiation
See Also:
DEFAULT_CALLBACK_PACKAGE_NAME, PegasusProperties.getPartitionerDAXCallback()

getDAXMetadata

public static Map getDAXMetadata(PegasusBag bag,
                                 String dax)
Returns the metadata stored in the root adag element in the DAX

Parameters:
bag - the bag of initialization objects
dax - the dax file.
Returns:
Map containing the metadata, else an empty map

loadDAXParserCallback

public static Callback loadDAXParserCallback(PegasusProperties properties,
                                             String dax,
                                             String className)
                                      throws DAXParserFactoryException
Loads the implementing class corresponding to the type specified by the user. The properties object passed should not be null. The callback that is loaded, is the one referred to by the className parameter passed.

Parameters:
properties - the PegasusProperties object containing all the properties required by Pegasus.
dax - the path to the DAX file that has to be parsed.
className - the name of the implementing class.
Returns:
the instance of the class implementing this interface.
Throws:
DAXParserFactoryException - that nests any error that might occur during the instantiation
See Also:
DEFAULT_CALLBACK_PACKAGE_NAME


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