public void processCalendar ( Row calendarRow , Map < Integer , Row > workPatternMap , Map < Integer , List < Row > > workPatternAssignmentMap , Map < Integer , List < Row > > exceptionAssignmentMap , Map < Integer , List < Row > > timeEntryMap , Map < Integer , DayType > exceptionTypeMap ) { // // Create the calendar and add the default working hours // ProjectCalendar calendar = m_project . addCalendar ( ) ; Integer dominantWorkPatternID = calendarRow . getInteger ( "DOMINANT_WORK_PATTERN" ) ; calendar . setUniqueID ( calendarRow . getInteger ( "CALENDARID" ) ) ; processWorkPattern ( calendar , dominantWorkPatternID , workPatternMap , timeEntryMap , exceptionTypeMap ) ; calendar . setName ( calendarRow . getString ( "NAMK" ) ) ; // // Add any additional working weeks // List < Row > rows = workPatternAssignmentMap . get ( calendar . getUniqueID ( ) ) ; if ( rows != null ) { for ( Row row : rows ) { Integer workPatternID = row . getInteger ( "WORK_PATTERN" ) ; if ( ! workPatternID . equals ( dominantWorkPatternID ) ) { ProjectCalendarWeek week = calendar . addWorkWeek ( ) ; week . setDateRange ( new DateRange ( row . getDate ( "START_DATE" ) , row . getDate ( "END_DATE" ) ) ) ; processWorkPattern ( week , workPatternID , workPatternMap , timeEntryMap , exceptionTypeMap ) ; } } } // // Add exceptions - not sure how exceptions which turn non-working days into working days are handled by Asta - if at all? // rows = exceptionAssignmentMap . get ( calendar . getUniqueID ( ) ) ; if ( rows != null ) { for ( Row row : rows ) { Date startDate = row . getDate ( "STARU_DATE" ) ; Date endDate = row . getDate ( "ENE_DATE" ) ; calendar . addCalendarException ( startDate , endDate ) ; } } m_eventManager . fireCalendarReadEvent ( calendar ) ; }
Creates a ProjectCalendar instance from the Asta data .