wt.projmgmt.msproject.mppobject
Class MPPTask

java.lang.Object
  extended bywt.projmgmt.msproject.mppobject.MPPObject
      extended bywt.projmgmt.msproject.mppobject.MPPExecutionObject
          extended bywt.projmgmt.msproject.mppobject.MPPTask
All Implemented Interfaces:
Comparable

public class MPPTask
extends MPPExecutionObject

An object that represents data from a Microsoft Project Plan Task.


Field Summary
private  TimeToElapse afterDeadline
           
private  TimeToElapse beforeDeadline
           
private  Collection deliverables
           
private  ExecutionConfiguration executionConfiguration
           
private static Vector managers
           
private  Collection Notebooks
           
private  MPPExecutionObject parent
           
private  Map preds
           
private static String RESOURCE
           
private  Collection resources
           
private  Currency rolledUpCurrentCost
           
private  Timestamp rolledUpEstFinish
           
private  Work rolledUpPerformedWork
           
private  Currency rolledUpTotalCost
           
private  Work rolledUpTotalWork
           
 
Fields inherited from class wt.projmgmt.msproject.mppobject.MPPExecutionObject
 
Fields inherited from class wt.projmgmt.msproject.mppobject.MPPObject
 
Constructor Summary
MPPTask()
           
 
Method Summary
 void addAllPredecessors(Map preds)
          Add all the precedence relationships that are defined in the specified map.
 ExecutionObject addDeliverable(ExecutionObject exec_obj, Deliverable deliverable)
          Add a Deliverable to the ExecutionObject
private  ProjectActivity addOwnerResource(ProjectActivity act)
           
private static ProjectNode addPred(ProjectNode node, ProjectNode predecessor, ProjectLinkType linkType)
          Add a predecessor to the specified node.
 void addPredecessor(Long uid, ProjectLinkType type)
          Add a new precedence relationship to this task.
private static ProjectNode addToSummary(SummaryActivity summary, ProjectNode node)
          Add the specified node to the specified summary.
 void assignResource(MPPResource resource)
          Assign a new resource to this task.
 void clearPredecessors()
          Remove all precedence relationships from this task.
private  Milestone createMilestone(ProjectPlan plan)
          Create a new Milestone in the specified ProjectPlan.
protected  Persistable createPersistable()
          Create a new Persistable that is of the correct type for this object.
private  ProjectActivity createProjectActivity(ProjectPlan plan)
          Create a new ProjectActivity in the specified ProjectPlan.
private  ProjectProxy createProjectProxy(ProjectPlan plan)
          Create a new ProjectProxy in the specified ProjectPlan.
private  SummaryActivity createSummaryActivity(ProjectPlan plan)
          Create a new SummaryActivity in the specified ProjectPlan.
protected  void doDataRollUp()
          Roll up data from this object's contained objects.
 TimeToElapse getAfterDeadline()
          Get the afterDeadline value that is associated with this task.
 TimeToElapse getBeforeDeadline()
          Get the beforeDeadline value that is associated with this task.
 ProjectCategory getCategory()
          Get the category for this execution object that is specified in the XML.
 Collection getDeliverables()
          Get the deliverables that are associated with this task.
 ExecutionConfiguration getExecutionConfiguration()
          Get the ExecutionConfiguration that is associated with this task.
protected  String getGenericName()
          Return a generic name fo the this object.
 ProjectHealthStatus getHealthStatus()
          Get the ProjectHealthStatus for this object that is specified in the XML.
private  Vector getManagers(ExecutionObject exObj)
           
protected  String getNameElement()
          Return the name of the XML element that should be used to obtain the value of this object's name.
 Collection getNotebooks()
          Get the Notebooks that are associated with this task.
private  PersonResource getOnlyPersonResource()
          If this task has a single person resource assigned to it then return that person resource.
 int getOutlineLevel()
          Get the OutlineLevel of this task.
 WTPrincipal getOwner()
          Get the owner of this execution object that is specified in the XML.
 MPPExecutionObject getParent()
          Get the parent of this task.
private  PersonResource getPersonResource(String name)
          Get the PersonResource that is defined in the XML and has the specified name.
private  MPPTask getPredecessor(long uid)
          Get the predecessor MPPTask that has the specified UID.
 Map getPredecessors()
          Return the predecessors for this task.
 ProjectNode getProjectNode()
          Get the persistable ProjectNode that this object corresponds to.
 Collection getResources()
          Return a collection of the resources assigned to this task.
 Currency getRolledUpCurrentCost()
          If this task is a milestone, return the current cost that is rolled up from this task's deliverables.
 Timestamp getRolledUpEstFinish()
          Return the latest estimated finish date for this task's deliverables.
 int getRolledUpPercentComplete()
          If this task is a milestone, return the percent complete that is rolled up from this task's deliverables.
 Work getRolledUpPerformedWork()
          If this task is a milestone, return the performed work that is rolled up from this task's deliverables.
 Currency getRolledUpTotalCost()
          If this task is a milestone, return the total cost that is rolled up from this task's deliverables.
 Work getRolledUpTotalWork()
          If this task is a milestone, return the total work that is rolled up from this task's deliverables.
 boolean hasDeliverables()
          Return true if the task has deliverables.
 boolean isActivity()
          Return true if this task is not a summary, milestone or sub-project.
 boolean isContainer()
          Return true if this object is a container for other project plan nodes.
 boolean isHasAssignments()
          Return true if this task has resources assigned to it.
 boolean isMilestone()
          Return true if this task is a milestone.
 boolean isOwnable()
          Return true if the ownership of this object should be assigned to the owner specified in the XML.
 boolean isPredecessor(long uid)
          Returns true if the specified MPPTask is a predecessor of this task.
 boolean isRollUpCost()
          Return true if the total cost and actual cost of this task are rolled-up.
 boolean isRollUpFinishDate()
          Roll up the finish date if one of the following is true: this is a summary this is a sub-project this is an activity this is a milestone and it doesn't have any deliverables associated with it this is a milestone that has at least one associated deliverable and the rolled-up estimated finish date is the same as the estimated finish date that is specified in the XML data
 boolean isRollUpPercentComplete()
          Return true if the percent complete of this task is rolled-up.
 boolean isRollUpStatus()
          Return true if the health status of this task is rolled-up.
 boolean isRollUpWork()
          Return true if the total work and actual work of this task are rolled-up.
 boolean isStartAtEndOfDay()
          A task starts at the end of the day when the following are true: timeToStart is computed duration is zero one of the following is true: the node starts at the same time as its parent and its parent starts at the end of the day the node has predecessors and its start time is equal to the finish time of one of those predecessors, or
 boolean isSubProject()
          Return true if this task is a sub-project.
 boolean isSummary()
          Return true if this task is a summary task.
protected  boolean isValidPersistable(Persistable p)
          Make sure that the specified Persistable is of the right type for this object.
private  void parseDelis()
          Parse the deliverable string that is stored on this task and add the referenced deliverables to the deliverable collection.
private  void parseMiscFields()
          Parse the combined string (Notebook-Executionconfiguration) that is stored on this task and set the appropriate member variables for later use .
private  void parseNotebooks(String NotebookStr)
          Parse the Notebook string that is stored on this task and add the referenced Notebooks to the Notebook collection.
protected  void printImpl()
           
protected  Persistable refreshPersistable()
          Retrieve the Persistable that corresponds to this object from the database.
 void setParent(MPPExecutionObject parent)
          Set the parent of this task.
 ExecutionObject updateBeforeAfterDeadline(ExecutionObject exObj)
          Update/Add the values for TimeToDeadline and TimePastDeadline These are stored in the PTC.MISC field (if not existing, then the defaults from the Constants are used -- see parseMiscFields)
 ProjectNode updateContainmentLinks(ProjectNode node)
          Update the containment links of the specified ProjectNode based on the data in this task.
 ExecutionObject updateDeliverables(ExecutionObject exObj)
          Update the Deliverables that are associated with this object's persistable.
 ExecutionObject updateExecutionConfiguration(ExecutionObject exObj)
          Update selected attributes of this object's {@link wt.projmgmt.execution.ExecutionConfiguration that are associated with this object's persistable.
 ExecutionObject updateNotebooks(ExecutionObject exObj)
          Update the Notebooks that are associated with this object's persistable.
 Persistable updatePersistable(Persistable p)
          Update values on the ExecutionObject based on the data in this MPPExecutionObject.
 ProjectNode updatePredecessors(ProjectNode node)
          Update the predecessors of the specified ProjectNode based on the data in this task.
protected  ProjectNode updateProjectNode(ProjectNode node)
          Update the values that are specific to ProjectNodes.
 
Methods inherited from class wt.projmgmt.msproject.mppobject.MPPExecutionObject
addChild, alignTime, alignTime, getActualCost, getActualWork, getAlignedDeadline, getAlignedDuration, getAlignedEstimatedFinishDate, getAlignedTimeToStart, getChildren, getConstraintDate, getConstraintType, getCost, getDuration, getElapsedDuration, getEstimatedFinishDate, getExecutionObject, getExecutionState, getPercentComplete, getPercentWorkComplete, getRiskDescription, getRiskValue, getRolledUpHealthStatus, getStatusDescription, getTimeToStart, getUser, getWork, getWorkingDays, isCreateTasksMode, isManualExecutionMode, isRollUpRequired, isStartComputed, isTrackCostsMode, isValidUpdateState, parseXSDDateTime, printNoUpdate, rollUpData, setRolledUpHealthStatus, updateCost, updateExecutionObject, updateName, updateTimeToStart, updateWfExecutionObject, updateWork
 
Methods inherited from class wt.projmgmt.msproject.mppobject.MPPObject
compareTo, containsKey, entrySet, get, getCurrentDate, getID, getImportInfo, getName, getObjectIdentifier, getPersistable, getPersistableClass, getPersistableID, getPlan, getProjectPlan, getUID, keySet, print, printMsg, printNoUpdate, printNoUpdate, printRollUp, printUpdate, printUpdate, put, savePersistable, setID, setPersistable, setPlan, toString, updatePersistableCache
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

managers

private static Vector managers

resources

private final Collection resources

Notebooks

private Collection Notebooks

executionConfiguration

private ExecutionConfiguration executionConfiguration

beforeDeadline

private TimeToElapse beforeDeadline

afterDeadline

private TimeToElapse afterDeadline

deliverables

private Collection deliverables

rolledUpEstFinish

private Timestamp rolledUpEstFinish

rolledUpTotalWork

private Work rolledUpTotalWork

rolledUpPerformedWork

private Work rolledUpPerformedWork

rolledUpTotalCost

private Currency rolledUpTotalCost

rolledUpCurrentCost

private Currency rolledUpCurrentCost

parent

private MPPExecutionObject parent

preds

private final Map preds
Constructor Detail

MPPTask

public MPPTask()
Method Detail

getGenericName

protected final String getGenericName()
Description copied from class: MPPObject
Return a generic name fo the this object. The object's ID is appended to the result of this method to form the object's name when it doesn't have a name.

Specified by:
getGenericName in class MPPObject

getNameElement

protected final String getNameElement()
Description copied from class: MPPObject
Return the name of the XML element that should be used to obtain the value of this object's name.

Specified by:
getNameElement in class MPPObject

isContainer

public final boolean isContainer()
Description copied from class: MPPObject
Return true if this object is a container for other project plan nodes. Plans, summary activities and subprojects are considered to be containers.

Overrides:
isContainer in class MPPObject

isSummary

public final boolean isSummary()
Return true if this task is a summary task.

If this task is marked as a summary and a subproject, then it is considered a subproject by ProjectLink and this method will return false.


isMilestone

public final boolean isMilestone()
Return true if this task is a milestone.

If this task is marked as a milestone and as a summary task, then it is considered a summary task by ProjectLink and this method will return false.

If this task is marked as a milestone and has resources assigned to it, then it is considered an activity by ProjectLink and this method will return false.


isSubProject

public final boolean isSubProject()
Return true if this task is a sub-project.


isActivity

public final boolean isActivity()
Return true if this task is not a summary, milestone or sub-project.


getManagers

private Vector getManagers(ExecutionObject exObj)
                    throws WTException
Throws:
WTException

assignResource

public void assignResource(MPPResource resource)
Assign a new resource to this task.

Parameters:
resource - the resource being assigned to this task

isHasAssignments

public final boolean isHasAssignments()
Return true if this task has resources assigned to it.


getResources

public final Collection getResources()
Return a collection of the resources assigned to this task.


getNotebooks

public final Collection getNotebooks()
Get the Notebooks that are associated with this task.

If necessary, this method parses the list of Notebooks that is stored on the task. It looks for Notebooks that exist in ProjectLink with the specified IDs. If a matching Notebook cannot be found then it is not added to the list. This method never creates new Notebooks.


parseNotebooks

private final void parseNotebooks(String NotebookStr)
Parse the Notebook string that is stored on this task and add the referenced Notebooks to the Notebook collection.

This is a provate helper method that is used by parseMiscFields.


getExecutionConfiguration

public final ExecutionConfiguration getExecutionConfiguration()
Get the ExecutionConfiguration that is associated with this task.

If necessary, this method parses the combined string (Notebook-Executionconfiguration) stored on the task. It looks for the ExecutionConfiguration object of this task as it was exported


parseMiscFields

private final void parseMiscFields()
Parse the combined string (Notebook-Executionconfiguration) that is stored on this task and set the appropriate member variables for later use .

Since M010, the Notebook textfield was renamed to MISC.

the MISC textfield contains NoteBookReference-ExecutionConfiguration|BeforeDeadline|AfterDeadline There are 4 possible scenarios:


getBeforeDeadline

public final TimeToElapse getBeforeDeadline()
Get the beforeDeadline value that is associated with this task.

If necessary, this method parses the MISC textfield that is stored on the task.


getAfterDeadline

public final TimeToElapse getAfterDeadline()
Get the afterDeadline value that is associated with this task.

If necessary, this method parses the MISC textfield that is stored on the task.


getDeliverables

public final Collection getDeliverables()
Get the deliverables that are associated with this task.

If necessary, this method parses the list of deliverables that is stored on the task. It looks for deliverables that exist in ProjectLink with the specified IDs. If a matching deliverable cannot be found then it is not added to the list. This method never creates new deliverables.


parseDelis

private final void parseDelis()
Parse the deliverable string that is stored on this task and add the referenced deliverables to the deliverable collection.

This is a provate helper method that is used by getDeliverables.


hasDeliverables

public final boolean hasDeliverables()
Return true if the task has deliverables. Otherwise, return false.


getRolledUpEstFinish

public final Timestamp getRolledUpEstFinish()
Return the latest estimated finish date for this task's deliverables. If this task does not have any deliverables then return the earliest time possible (new Timestamp(0)).


getRolledUpTotalWork

public final Work getRolledUpTotalWork()
If this task is a milestone, return the total work that is rolled up from this task's deliverables. Otherwise, return zero.


getRolledUpPerformedWork

public final Work getRolledUpPerformedWork()
If this task is a milestone, return the performed work that is rolled up from this task's deliverables. Otherwise, return zero.


getRolledUpPercentComplete

public final int getRolledUpPercentComplete()
If this task is a milestone, return the percent complete that is rolled up from this task's deliverables. Otherwise, return zero.


getRolledUpTotalCost

public final Currency getRolledUpTotalCost()
If this task is a milestone, return the total cost that is rolled up from this task's deliverables. Otherwise, return zero.


getRolledUpCurrentCost

public final Currency getRolledUpCurrentCost()
If this task is a milestone, return the current cost that is rolled up from this task's deliverables. Otherwise, return zero.


doDataRollUp

protected final void doDataRollUp()
                           throws WTException
Description copied from class: MPPExecutionObject
Roll up data from this object's contained objects.

This default implementation rolls up status information from this object's children.

Overrides:
doDataRollUp in class MPPExecutionObject
Throws:
WTException

isStartAtEndOfDay

public final boolean isStartAtEndOfDay()
A task starts at the end of the day when the following are true:
  1. timeToStart is computed
  2. duration is zero
  3. one of the following is true:
    1. the node starts at the same time as its parent and its parent starts at the end of the day
    2. the node has predecessors and its start time is equal to the finish time of one of those predecessors, or

Specified by:
isStartAtEndOfDay in class MPPExecutionObject

isRollUpFinishDate

public final boolean isRollUpFinishDate()
Roll up the finish date if one of the following is true:
  1. this is a summary
  2. this is a sub-project
  3. this is an activity
  4. this is a milestone and it doesn't have any deliverables associated with it
  5. this is a milestone that has at least one associated deliverable and the rolled-up estimated finish date is the same as the estimated finish date that is specified in the XML data

Specified by:
isRollUpFinishDate in class MPPExecutionObject

isRollUpStatus

public final boolean isRollUpStatus()
Description copied from class: MPPExecutionObject
Return true if the health status of this task is rolled-up.

Overrides:
isRollUpStatus in class MPPExecutionObject

isRollUpPercentComplete

public final boolean isRollUpPercentComplete()
Description copied from class: MPPExecutionObject
Return true if the percent complete of this task is rolled-up.

Specified by:
isRollUpPercentComplete in class MPPExecutionObject

isRollUpWork

public final boolean isRollUpWork()
Description copied from class: MPPExecutionObject
Return true if the total work and actual work of this task are rolled-up.

Specified by:
isRollUpWork in class MPPExecutionObject

isRollUpCost

public final boolean isRollUpCost()
Description copied from class: MPPExecutionObject
Return true if the total cost and actual cost of this task are rolled-up.

Specified by:
isRollUpCost in class MPPExecutionObject

getCategory

public final ProjectCategory getCategory()
Description copied from class: MPPExecutionObject
Get the category for this execution object that is specified in the XML.

Specified by:
getCategory in class MPPExecutionObject

getOwner

public WTPrincipal getOwner()
                     throws WTException
Description copied from class: MPPExecutionObject
Get the owner of this execution object that is specified in the XML.

Overrides:
getOwner in class MPPExecutionObject
Throws:
WTException

isOwnable

public final boolean isOwnable()
Description copied from class: MPPExecutionObject
Return true if the ownership of this object should be assigned to the owner specified in the XML.

Specified by:
isOwnable in class MPPExecutionObject

getHealthStatus

public final ProjectHealthStatus getHealthStatus()
Get the ProjectHealthStatus for this object that is specified in the XML.

Overrides:
getHealthStatus in class MPPExecutionObject

getParent

public final MPPExecutionObject getParent()
Get the parent of this task.


setParent

public final void setParent(MPPExecutionObject parent)
Set the parent of this task.

Throws:
NullPointerException - if parent is null

getOutlineLevel

public final int getOutlineLevel()
Get the OutlineLevel of this task.


getPredecessors

public Map getPredecessors()
Return the predecessors for this task. The value returned is a Map whose keys are the MS Project UID for the predecessor and whose values are the ProjectLinkType of precedence relation that exists between the predecessor and this task.

Returns:
a map of precedence relations

isPredecessor

public boolean isPredecessor(long uid)
Returns true if the specified MPPTask is a predecessor of this task. Returns false otherwise.

Parameters:
uid - the uid of the predecessor task
Returns:
true if the task is a predecessor otherwise false

addPredecessor

public void addPredecessor(Long uid,
                           ProjectLinkType type)
Add a new precedence relationship to this task. The MS Project UID of the predecessor and the ProjectLinkType of the relationship are supplied.

Parameters:
uid - the MS Project UID of the predecessor
type - the type of the precedence relationship

addAllPredecessors

public void addAllPredecessors(Map preds)
Add all the precedence relationships that are defined in the specified map. The map keys are the MS Project UIDs of the predecessors and the values are the ProjectLinkType of the relationship.

Parameters:
preds - a map of predecessors and relation types

clearPredecessors

public void clearPredecessors()
Remove all precedence relationships from this task.


getPredecessor

private MPPTask getPredecessor(long uid)
Get the predecessor MPPTask that has the specified UID.

Parameters:
uid - the uid of the predecessor task
Returns:
predecessor task or null

getProjectNode

public final ProjectNode getProjectNode()
                                 throws WTException
Get the persistable ProjectNode that this object corresponds to.

Throws:
WTException
See Also:
wt.projmgmt.msproject.mppobject.MPPThing#getPersistable

createPersistable

protected Persistable createPersistable()
                                 throws WTException
Description copied from class: MPPObject
Create a new Persistable that is of the correct type for this object.

Specified by:
createPersistable in class MPPObject
Throws:
WTException

updatePersistable

public Persistable updatePersistable(Persistable p)
                              throws WTException,
                                     WTPropertyVetoException
Description copied from class: MPPExecutionObject
Update values on the ExecutionObject based on the data in this MPPExecutionObject.

Subclass should call super.updatePersistable if they override this method so that the ExecutionObject and WfExecutionObject attributes are updated.

Overrides:
updatePersistable in class MPPExecutionObject
Throws:
WTException
WTPropertyVetoException

isValidPersistable

protected boolean isValidPersistable(Persistable p)
                              throws WTException
Description copied from class: MPPObject
Make sure that the specified Persistable is of the right type for this object. Return false if null is passed to the method.

This class's implementation of this method ensures that the perisitable is in the right ProjectPlan. Subclasses that override this method should be sure to make a call to super so that this code is executed.

Overrides:
isValidPersistable in class MPPExecutionObject
Throws:
WTException

refreshPersistable

protected Persistable refreshPersistable()
                                  throws WTException
Description copied from class: MPPObject
Retrieve the Persistable that corresponds to this object from the database. Return null if no such persistable exists.

Overrides:
refreshPersistable in class MPPObject
Throws:
WTException

createProjectActivity

private final ProjectActivity createProjectActivity(ProjectPlan plan)
                                             throws WTException
Create a new ProjectActivity in the specified ProjectPlan. A template for the activity is created and both are persisted in the database.

Parameters:
plan - the plan that the activity should be created in
Returns:
the newly created activity
Throws:
WTException

createSummaryActivity

private final SummaryActivity createSummaryActivity(ProjectPlan plan)
                                             throws WTException
Create a new SummaryActivity in the specified ProjectPlan. A template for the summary is created and both are persisted in the database.

Parameters:
plan - the plan that the summary should be created in
Returns:
the newly created summary activity
Throws:
WTException

createMilestone

private final Milestone createMilestone(ProjectPlan plan)
                                 throws WTException
Create a new Milestone in the specified ProjectPlan. A template for the milestone is created and both are persisted in the database.

Parameters:
plan - the plan that the milestone should be created in
Returns:
the newly created milestone
Throws:
WTException

createProjectProxy

private final ProjectProxy createProjectProxy(ProjectPlan plan)
                                       throws WTException
Create a new ProjectProxy in the specified ProjectPlan. A template for the proxy is created and both are persisted in the database. If this proxy has an associated sub plan (as specified by PROJECT_ALIAS, then the proxy is re-associated with the sub plan

Parameters:
plan - the plan that the proxy should be created in
Returns:
the newly created project proxy
Throws:
WTException

updateProjectNode

protected final ProjectNode updateProjectNode(ProjectNode node)
                                       throws WTException
Update the values that are specific to ProjectNodes. These include the following values:

Throws:
WTException

updateContainmentLinks

public final ProjectNode updateContainmentLinks(ProjectNode node)
                                         throws WTException
Update the containment links of the specified ProjectNode based on the data in this task.

Throws:
WTException

updatePredecessors

public final ProjectNode updatePredecessors(ProjectNode node)
                                     throws WTException
Update the predecessors of the specified ProjectNode based on the data in this task.

Throws:
WTException

updateNotebooks

public final ExecutionObject updateNotebooks(ExecutionObject exObj)
                                      throws WTException
Update the Notebooks that are associated with this object's persistable.

Throws:
WTException

updateBeforeAfterDeadline

public final ExecutionObject updateBeforeAfterDeadline(ExecutionObject exObj)
                                                throws WTException
Update/Add the values for TimeToDeadline and TimePastDeadline These are stored in the PTC.MISC field (if not existing, then the defaults from the Constants are used -- see parseMiscFields)

Throws:
WTException

updateExecutionConfiguration

public final ExecutionObject updateExecutionConfiguration(ExecutionObject exObj)
                                                   throws WTException
Update selected attributes of this object's {@link wt.projmgmt.execution.ExecutionConfiguration that are associated with this object's persistable. Currently only Notification information for owner/project manager and the Timeline flag is restored

Throws:
WTException

updateDeliverables

public final ExecutionObject updateDeliverables(ExecutionObject exObj)
                                         throws WTException
Update the Deliverables that are associated with this object's persistable.

Throws:
WTException

addDeliverable

public ExecutionObject addDeliverable(ExecutionObject exec_obj,
                                      Deliverable deliverable)
                               throws WTException
Add a Deliverable to the ExecutionObject

Parameters:
exec_obj - the ExecutionObject the Deliverable is to be added to
deliverable - the Deliverable to be added to the ExecutionObject
Returns:
the modified ExecutionObject
Throws:
WTException

addPred

private static ProjectNode addPred(ProjectNode node,
                                   ProjectNode predecessor,
                                   ProjectLinkType linkType)
                            throws WTException
Add a predecessor to the specified node. The type of precedence relationship created is specified by the linkType.

Parameters:
node - the sucessor node
predecessor - the predecessor
linkType - the kind of precedence relation to create
Returns:
the successor node
Throws:
WTException

addToSummary

private static ProjectNode addToSummary(SummaryActivity summary,
                                        ProjectNode node)
                                 throws WTException
Add the specified node to the specified summary.

Parameters:
summary - the parent node
node - the child node
Returns:
the child node
Throws:
WTException

addOwnerResource

private final ProjectActivity addOwnerResource(ProjectActivity act)
                                        throws WTException
Throws:
WTException

getPersonResource

private final PersonResource getPersonResource(String name)
                                        throws WTException
Get the PersonResource that is defined in the XML and has the specified name.

Throws:
WTException

getOnlyPersonResource

private final PersonResource getOnlyPersonResource()
                                            throws WTException
If this task has a single person resource assigned to it then return that person resource. Otherwise, return null.

Throws:
WTException

printImpl

protected void printImpl()
Overrides:
printImpl in class MPPObject