private List < Feature > getFeaturesForCurrentSprints ( String teamId , String projectId , ObjectId collectorId , String agileType , boolean minimal ) { List < Feature > rt = new ArrayList < Feature > ( ) ; String now = getCurrentISODateTime ( ) ; if ( FeatureCollectorConstants . SPRINT_KANBAN . equalsIgnoreCase ( agileType ) ) { /* * A feature is part of a kanban sprint if any of the following are true: * - the feature does not have a sprint set * - the feature has a sprint set that does not have an end date * - the feature has a sprint set that has an end date >= EOT (9999-12-31T59:59:59.999999) */ rt . addAll ( featureRepository . findByNullSprints ( teamId , projectId , collectorId , minimal ) ) ; rt . addAll ( featureRepository . findByUnendingSprints ( teamId , projectId , collectorId , minimal ) ) ; } else { // default to scrum /* * A feature is part of a scrum sprint if any of the following are true: * - the feature has a sprint set that has start <= now <= end and end < EOT (9999-12-31T59:59:59.999999) */ rt . addAll ( featureRepository . findByActiveEndingSprints ( teamId , projectId , collectorId , now , minimal ) ) ; } return rt ; }
Get the features that belong to the current sprints