edu.isi.pegasus.planner.refiner

## Class Engine

- java.lang.Object
- - edu.isi.pegasus.planner.refiner.Engine

Direct Known Subclasses:
  AuthenticateEngine, CleanupEngine, CreateDirectory, DataReuseEngine, DeployWorkerPackage, InterPoolEngine, MainEngine, NodeCollapser, RemoveDirectory, ReplicaCatalogBridge, TransferEngine

    public abstract class Engine
    extends java.lang.Object

The class which is a superclass of all the various Engine classes. It defines common methods and member variables.

Version:
  $Revision$
Author:
  Karan Vahi, Gaurang Mehta

### Field Summary

Fields
`protected PegasusBag` `mBag` The bag of initialization objects
`protected LogManager` `mLogger` The logging object which is used to log all the messages.
`protected java.lang.String` `mLogMsg` Contains the message which is to be logged by Pegasus.
`protected static java.lang.String` `mOutputPool` The pool on which all the output data should be transferred.
`protected java.lang.String` `mPoolFile` The path to the file containing the pool information.
`protected PlannerOptions` `mPOptions` Contains the various options to the Planner as passed by the user at runtime.
`protected PegasusProperties` `mProps` The object holding all the properties pertaining to Pegasus.
`protected java.lang.String` `mRLIUrl` The Replica Location Index URL got from vds.rls.url property
`protected SiteStore` `mSiteStore` The handle to the Pool Info Provider.
`protected java.lang.String` `mTCFile` The path to the file containing the pool information.
`protected TransformationCatalog` `mTCHandle` The handle to the Transformation Catalog.
`protected java.lang.String` `mTCMode` Defines the read mode for transformation catalog.
`static java.lang.String` `REGISTRATION_UNIVERSE`
`static java.lang.String` `TRANSFER_UNIVERSE`

### Constructor Summary

Constructors
Constructor and Description
`Engine(PegasusBag bag)` A pratically nothing constructor !

### Method Summary

All Methods Instance Methods Concrete Methods
`java.util.Vector` `addVector(java.util.Vector from_vector, java.util.Vector to_vector)` Adds elements (PegasusFile type) in a Vector to another Vector and returns the new Vector.
`void` `appendArrayList(java.util.ArrayList dest, java.util.ArrayList source)` It appends the source list at the end of the destination list.
`protected void` `complainForHeadNodeURLPrefix(java.lang.String refiner, java.lang.String site, FileServerType.OPERATION operation)` Complains for head node url prefix not specified
`protected void` `complainForHeadNodeURLPrefix(java.lang.String refiner, java.lang.String site, FileServerType.OPERATION operation, Job job)` Complains for head node url prefix not specified
`void` `loadProperties()` Loads all the properties that are needed by the Engine classes.
`void` `printVector(java.lang.String heading, java.util.Vector vector)` It prints the contents of the Vector, with the first line being the heading.
`boolean` `stringInList(java.lang.String stringName, java.util.List list)`
`boolean` `stringInPegVector(java.lang.String stringName, java.util.Vector vector)` Returns true if a particular String is in the Vector of PegasusFile objects.
`boolean` `stringInVector(java.lang.String stringName, java.util.Vector vector)` Returns true if a particular String is in the Vector of strings.
`java.lang.String` `vectorToString(java.lang.String heading, java.util.Vector vector)` It prints the contents of the Vector, to a String with the first line being the heading.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### REGISTRATION_UNIVERSE

    public static final java.lang.String REGISTRATION_UNIVERSE

See Also:
  Constant Field Values

#### TRANSFER_UNIVERSE

    public static final java.lang.String TRANSFER_UNIVERSE

See Also:
  Constant Field Values

#### mOutputPool

    protected static java.lang.String mOutputPool

The pool on which all the output data should be transferred.

#### mProps

    protected PegasusProperties mProps

The object holding all the properties pertaining to Pegasus.

#### mPoolFile

    protected java.lang.String mPoolFile

The path to the file containing the pool information. By default it is $PEGASUS_HOME/etc/pool.config

#### mTCHandle

    protected TransformationCatalog mTCHandle

The handle to the Transformation Catalog. It must be instantiated in the implementing class.

#### mTCFile

    protected java.lang.String mTCFile

The path to the file containing the pool information. By default it is $PEGASUS_HOME/etc/tc.data.

#### mSiteStore

    protected SiteStore mSiteStore

The handle to the Pool Info Provider. It is instantiated in this class

#### mLogMsg

    protected java.lang.String mLogMsg

Contains the message which is to be logged by Pegasus.

#### mRLIUrl

    protected java.lang.String mRLIUrl

The Replica Location Index URL got from vds.rls.url property

#### mTCMode

    protected java.lang.String mTCMode

Defines the read mode for transformation catalog. Whether we want to read all at once or as desired.

See Also:
  `org.griphyn.common.catalog.transformation.TCMode`

#### mLogger

    protected LogManager mLogger

The logging object which is used to log all the messages.

#### mPOptions

    protected PlannerOptions mPOptions

Contains the various options to the Planner as passed by the user at runtime.

#### mBag

    protected PegasusBag mBag

The bag of initialization objects

### Constructor Detail

#### Engine

    public Engine(PegasusBag bag)

A pratically nothing constructor !

Parameters:
  `bag` - bag of initialization objects

### Method Detail

#### loadProperties

    public void loadProperties()

Loads all the properties that are needed by the Engine classes.

#### stringInVector

    public boolean stringInVector(java.lang.String stringName,
                                  java.util.Vector vector)

Returns true if a particular String is in the Vector of strings.

Parameters:
  `stringName` - the String which has to be searched for in the Vector.
  `vector` - the Vector of Strings in which to search for a particular String.
Returns:
  boolean on the basis of whether the String in Vector or not.

#### stringInList

    public boolean stringInList(java.lang.String stringName,
                                java.util.List list)

#### stringInPegVector

    public boolean stringInPegVector(java.lang.String stringName,
                                     java.util.Vector vector)

Returns true if a particular String is in the Vector of PegasusFile objects.

Parameters:
  `stringName` - the String which has to be searched for in the Vector.
  `vector` - the Vector of Strings in which to search for a particular String
Returns:
  boolean on the basis of whether the String in Vector or not.

#### addVector

    public java.util.Vector addVector(java.util.Vector from_vector,
                                      java.util.Vector to_vector)

Adds elements (PegasusFile type) in a Vector to another Vector and returns the new Vector.

Parameters:
  `from_vector` - the source
  `to_vector` - the destination
Returns:
  Vector of PegasusFile objects

#### printVector

    public void printVector(java.lang.String heading,
                            java.util.Vector vector)

It prints the contents of the Vector, with the first line being the heading.

Parameters:
  `heading` - The heading you want to give to the text which is printed.
  `vector` - The `Vector` whose elements you want to print.

#### vectorToString

    public java.lang.String vectorToString(java.lang.String heading,
                                           java.util.Vector vector)

It prints the contents of the Vector, to a String with the first line being the heading.

Parameters:
  `heading` - The heading you want to give to the text which is printed.
  `vector` - The `Vector` whose elements you want to print.
Returns:
  String

#### appendArrayList

    public void appendArrayList(java.util.ArrayList dest,
                                java.util.ArrayList source)

It appends the source list at the end of the destination list.

Parameters:
  `dest` - the destination list
  `source` - the source list

#### complainForHeadNodeURLPrefix

    protected void complainForHeadNodeURLPrefix(java.lang.String refiner,
                                                java.lang.String site,
                                                FileServerType.OPERATION operation)

Complains for head node url prefix not specified

Parameters:
  `refiner` - the name of the refiner
  `site` - the site handle
Throws:
  `java.lang.RuntimeException` - when URL Prefix cannot be determined for various reason.

#### complainForHeadNodeURLPrefix

    protected void complainForHeadNodeURLPrefix(java.lang.String refiner,
                                                java.lang.String site,
                                                FileServerType.OPERATION operation,
                                                Job job)

Complains for head node url prefix not specified

Parameters:
  `refiner` - the name of the refiner
  `operation` - the operation for which error is throw
  `job` - the related job if any
  `site` - the site handle
Throws:
  `java.lang.RuntimeException` - when URL Prefix cannot be determined for various reason.