protected void processLink ( Row row ) { Task predecessorTask = m_project . getTaskByUniqueID ( row . getInteger ( "LINK_PRED_UID" ) ) ; Task successorTask = m_project . getTaskByUniqueID ( row . getInteger ( "LINK_SUCC_UID" ) ) ; if ( predecessorTask != null && successorTask != null ) { RelationType type = RelationType . getInstance ( row . getInt ( "LINK_TYPE" ) ) ; TimeUnit durationUnits = MPDUtility . getDurationTimeUnits ( row . getInt ( "LINK_LAG_FMT" ) ) ; Duration duration = MPDUtility . getDuration ( row . getDouble ( "LINK_LAG" ) . doubleValue ( ) , durationUnits ) ; Relation relation = successorTask . addPredecessor ( predecessorTask , type , duration ) ; relation . setUniqueID ( row . getInteger ( "LINK_UID" ) ) ; m_eventManager . fireRelationReadEvent ( relation ) ; } }
Process a relationship between two tasks .