| java.lang.Object org.cougaar.logistics.plugin.inventory.InventoryModule org.cougaar.logistics.plugin.inventory.DetReqAggHandler
createAggTask | public NewMPTask createAggTask(Collection parents)(Code) | | Create the aggregated maintain inventory task. This task is
the parent of all the per-inventory MaintainInventory tasks.
It, too, uses the MaintainInventory verb but with no direct
object. It is an MPTask that combines all the
DetermineRequirements tasks of type MaintainInventory. The
Composition of this MPTask is non-propagating so it is
rescinded only if all the parent tasks are rescinded.
See Also: InventoryPlugin.processDetReq |
findOrMakeMILTask | public Task findOrMakeMILTask(Inventory inventory, CollectionSubscription aggMILSubscription)(Code) | | Find or make the aggregated MIL task for an inventory. If the
MILTaskHash_ does not contain an existing task, create a new
one and link it to the determine requirements tasks.
|
getDetermineRequirementsTask | public Task getDetermineRequirementsTask(CollectionSubscription aggMILSubscription)(Code) | | Get _the_ aggregate MIL task. This is complicated because we
want to detect when the task has been deleted, but we only want
to create one of them. The lag between publishing a new task
and its appearance in the subscription poses a problem because,
typically, this method is called repeatedly in one transaction.
We store the task temporarily in a variable (aggMILTask) to
prevent multiple creation, but clear the variable at the
beginning of each new transaction. If the task has not yet been
created, we try to create it by aggregating all the existing
per-oplan DetermineRequirements tasks into it. Subsequent
per-oplan tasks will be aggregated in as they arrive. There
will be no task if there are no DetermineRequirements tasks to
be aggregated.
|
reportWhenCantMakeMaintainInventoryTask | protected void reportWhenCantMakeMaintainInventoryTask(Inventory inventory, Task parent)(Code) | | |
resetAggMITask | public void resetAggMITask()(Code) | | |
|
|