void (TimeSheetIdentifier timeSheetId, Approval_event_type approvalEventType) { AllCalcDataManager updatedAcdm = getUpdatedAllCalcDataManager(timeSheetId.getAsgnmt()); AllCalculationData acd = getAllCalcData(updatedAcdm, timeSheetId); try { if (approvalEventType == Approval_event_type.SAVE_SCHEDULE) { // if we're saving a change to the schedule, the timesheet might need to be re-initialized. acd.reinitTimeSheet(updatedAcdm, true); } acd.recalc(updatedAcdm); } catch (Exception e) { throw new InternalApplicationException("calculate for " + timeSheetId, e); } }