| org.cougaar.lib.filter.UTILSingleTaskAllocatorPlugin org.cougaar.logistics.plugin.trans.TransportAllocatorPlugin org.cougaar.logistics.plugin.trans.GroundTransportAllocatorPlugin
GroundTransportAllocatorPlugin | public class GroundTransportAllocatorPlugin extends TransportAllocatorPlugin (Code) | |
Plugin that looks for TRANSIT or TRANSPORT tasks.
In general, like it's super class, TransportAllocatorPlugin,
BUT if the asset is self-propelled, short-circuits the process
by assigning the task to its direct object. This follows the simple
idea that to deploy a truck, you have it move itself.
|
Method Summary | |
public PlanElement | createAllocation(Task t, Asset a)
Do the actual allocation here
If self propelled, do simple great circle calculations based on the speed
of the asset to determine START and END aspect values. | public Asset | findAsset(Task t)
determines the asset that is allocated to
Allocate to self (=direct object) if self propelled. | protected double | getSpeed(GLMAsset asset) | public boolean | interestingTask(Task t)
This plugin is interested in tasks with verb TRANSIT or TRANSPORT
The task must also have the VISHNU prep attached, indicating that the Vishnu
plugin upstream has created the task.
BUT if the task is to move a self-transportable item, just go ahead, be
interested in it, and allocate it. | protected boolean | isSelf(Task t) | protected boolean | isSelfPropelled(Task t, Asset directObject)
Checks to see if the the task is to move a self-propelled item, given the direct object
Determines the nature of the direct object by examining its Cargo Category Code on its
movability property group. | public void | localSetup() |
findAsset | public Asset findAsset(Task t)(Code) | |
determines the asset that is allocated to
Allocate to self (=direct object) if self propelled.
Otherwise grab asset from WITH prep.
|
interestingTask | public boolean interestingTask(Task t)(Code) | |
This plugin is interested in tasks with verb TRANSIT or TRANSPORT
The task must also have the VISHNU prep attached, indicating that the Vishnu
plugin upstream has created the task.
BUT if the task is to move a self-transportable item, just go ahead, be
interested in it, and allocate it. These tasks will never go to the Vishnu
Aggregator.
Parameters: t - task to check to see if it is an input task to this plugin |
isSelf | protected boolean isSelf(Task t)(Code) | | checks to see if the the task is to move a self-propelled item
|
isSelfPropelled | protected boolean isSelfPropelled(Task t, Asset directObject)(Code) | |
Checks to see if the the task is to move a self-propelled item, given the direct object
Determines the nature of the direct object by examining its Cargo Category Code on its
movability property group.
If an asset doesn't have a movability PG, returns false.
Parameters: t - just passed in so we can report which task has a missing movability PG. Parameters: directObject - asset to examine |
localSetup | public void localSetup()(Code) | | creates GLMMeasure and GLMPrepPhrase helper classes
|
|
|