public Date getFinishDate ( ) { Date finishDate = null ; for ( Task task : m_tasks ) { // // If a hidden "summary" task is present we ignore it // if ( NumberHelper . getInt ( task . getUniqueID ( ) ) == 0 ) { continue ; } // // Select the actual or forecast start date // Date taskFinishDate ; taskFinishDate = task . getActualFinish ( ) ; if ( taskFinishDate == null ) { taskFinishDate = task . getFinish ( ) ; } if ( taskFinishDate != null ) { if ( finishDate == null ) { finishDate = taskFinishDate ; } else { if ( taskFinishDate . getTime ( ) > finishDate . getTime ( ) ) { finishDate = taskFinishDate ; } } } } return ( finishDate ) ; }
Find the latest task finish date . We treat this as the finish date for the project .