edu.isi.pegasus.planner.cluster

## Class Vertical

- java.lang.Object
- - edu.isi.pegasus.planner.cluster.Abstract
  - - edu.isi.pegasus.planner.cluster.Vertical

All Implemented Interfaces:
  Clusterer

    public class Vertical
    extends Abstract

The vertical cluster, that extends the Default clusterer and topologically sorts the partition before clustering the jobs into aggregated jobs.

Version:
  $Revision$
Author:
  Karan Vahi

### Field Summary

Fields
`static java.lang.String` `DESCRIPTION` A short description about the partitioner.

### Fields inherited from class edu.isi.pegasus.planner.cluster.Abstract

`mClusteredRelations, mJobAggregatorFactory, mLogger, mPartitionClusterMap, mProps, mScheduledDAG, mSubInfoMap`

### Fields inherited from interface edu.isi.pegasus.planner.cluster.Clusterer

`VERSION`

### Constructor Summary

Constructors
Constructor and Description
`Vertical()` The default constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected java.lang.String` `constructClusteredJobID(Partition partition)` Returns the ID for the clustered job corresponding to a partition.
`java.lang.String` `description()` Returns a textual description of the transfer implementation.
`void` `determineInputOutputFiles(AggregatedJob job, java.util.List<Job> orderedJobs)` Determine the input and output files of the job on the basis of the order of the constituent jobs in the AggregatedJob.
`protected java.lang.String` `getLogicalNameForJobs(java.util.List<Job> jobs)` Returns null as for label based clustering we dont want the transformation name to be considered for constructing the name of the clustered jobs
`java.util.List` `order(Partition p)` Returns the nodes in the partition as a List in the topologically sorted order.

### Methods inherited from class edu.isi.pegasus.planner.cluster.Abstract

`addJob, associate, clusteredJob, clusteredJob, determineClusters, getClusteredDAG, getJob, initialize, parents`

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

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

### Field Detail

#### DESCRIPTION

    public static final java.lang.String DESCRIPTION

A short description about the partitioner.

See Also:
  Constant Field Values

### Constructor Detail

#### Vertical

    public Vertical()

The default constructor.

### Method Detail

#### description

    public java.lang.String description()

Returns a textual description of the transfer implementation.

Returns:
  a short textual description

#### order

    public java.util.List order(Partition p)
                         throws ClustererException

Returns the nodes in the partition as a List in the topologically sorted order.

Specified by:
  `order` in class `Abstract`
Parameters:
  `p` - the partition whose nodes have to be ordered.
Returns:
  an ordered List of `String` objects that are the ID's of the nodes.
Throws:
  `ClustererException` - in case of error.

#### determineInputOutputFiles

    public void determineInputOutputFiles(AggregatedJob job,
                                          java.util.List<Job> orderedJobs)

Determine the input and output files of the job on the basis of the order of the constituent jobs in the AggregatedJob. The input and output files are determined on the basis of topologically sorted order of the constituent jobs.

Specified by:
  `determineInputOutputFiles` in class `Abstract`
Parameters:
  `job` - the `AggregatedJob`
  `orderedJobs` - the List of Jobs that is ordered as determined by the clustererr
Throws:
  `ClustererException` - in case of error.

#### getLogicalNameForJobs

    protected java.lang.String getLogicalNameForJobs(java.util.List<Job> jobs)

Returns null as for label based clustering we dont want the transformation name to be considered for constructing the name of the clustered jobs

Overrides:
  `getLogicalNameForJobs` in class `Abstract`
Parameters:
  `jobs` - List of jobs
Returns:
  name

#### constructClusteredJobID

    protected java.lang.String constructClusteredJobID(Partition partition)

Returns the ID for the clustered job corresponding to a partition.

Overrides:
  `constructClusteredJobID` in class `Abstract`
Parameters:
  `partition` - the partition.
Returns:
  the ID of the clustered job