Skip to content

Commit

Permalink
Fix CourseCompetency vs. Competency
Browse files Browse the repository at this point in the history
  • Loading branch information
JohannesStoehr committed Jul 12, 2024
1 parent 68fd051 commit f6117c0
Showing 1 changed file with 7 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public LearningPathNavigationService(LearningPathRecommendationService learningP
public LearningPathNavigationDTO getNavigation(LearningPath learningPath) {
var recommendationState = learningPathRecommendationService.getRecommendedOrderOfNotMasteredCompetencies(learningPath);
var currentLearningObject = learningPathRecommendationService.getFirstLearningObject(learningPath.getUser(), recommendationState);
Competency competencyOfCurrentLearningObject;
CourseCompetency competencyOfCurrentLearningObject;
var recommendationStateWithAllCompetencies = learningPathRecommendationService.getRecommendedOrderOfAllCompetencies(learningPath);

// If all competencies are mastered, get the last completed learning object
Expand Down Expand Up @@ -77,13 +77,13 @@ public LearningPathNavigationDTO getNavigation(LearningPath learningPath) {
* @param firstCompetency whether to find the first or last competency that contains the learning object
* @return the competency that contains the learning object
*/
private Competency findCorrespondingCompetencyForLearningObject(RecommendationState recommendationState, LearningObject learningObject, boolean firstCompetency) {
Stream<Competency> potentialCompetencies = recommendationState.recommendedOrderOfCompetencies().stream()
private CourseCompetency findCorrespondingCompetencyForLearningObject(RecommendationState recommendationState, LearningObject learningObject, boolean firstCompetency) {
Stream<CourseCompetency> potentialCompetencies = recommendationState.recommendedOrderOfCompetencies().stream()
.map(competencyId -> recommendationState.competencyIdMap().get(competencyId))
.filter(competency -> competency.getLectureUnits().contains(learningObject) || competency.getExercises().contains(learningObject));

// There will always be at least one competency that contains the learning object, otherwise the learning object would not be in the learning path
Comparator<Competency> comparator = Comparator.comparingInt(competency -> recommendationState.recommendedOrderOfCompetencies().indexOf(competency.getId()));
Comparator<CourseCompetency> comparator = Comparator.comparingInt(competency -> recommendationState.recommendedOrderOfCompetencies().indexOf(competency.getId()));
if (firstCompetency) {
return potentialCompetencies.min(comparator).get();
}
Expand Down Expand Up @@ -128,7 +128,7 @@ private LearningPathNavigationDTO getNavigationRelativeToLearningObject(Recommen
private LearningPathNavigationObjectDTO getPredecessorOfLearningObject(RecommendationState recommendationState, CourseCompetency currentCompetency,
List<LearningObject> learningObjectsInCurrentCompetency, int indexOfCurrentLearningObject, User user) {
LearningObject predecessorLearningObject = null;
Competency competencyOfPredecessor = null;
CourseCompetency competencyOfPredecessor = null;
if (indexOfCurrentLearningObject <= 0) {
int indexOfCompetencyToSearch = recommendationState.recommendedOrderOfCompetencies().indexOf(currentCompetency.getId()) - 1;
while (indexOfCompetencyToSearch >= 0 && predecessorLearningObject == null) {
Expand All @@ -152,7 +152,7 @@ private LearningPathNavigationObjectDTO getPredecessorOfLearningObject(Recommend
private LearningPathNavigationObjectDTO getSuccessorOfLearningObject(RecommendationState recommendationState, CourseCompetency currentCompetency,
List<LearningObject> learningObjectsInCurrentCompetency, int indexOfCurrentLearningObject, User user) {
LearningObject successorLearningObject = null;
Competency competencyOfSuccessor = null;
CourseCompetency competencyOfSuccessor = null;
if (indexOfCurrentLearningObject >= learningObjectsInCurrentCompetency.size() - 1) {
int indexOfCompetencyToSearch = recommendationState.recommendedOrderOfCompetencies().indexOf(currentCompetency.getId()) + 1;
while (indexOfCompetencyToSearch < recommendationState.recommendedOrderOfCompetencies().size() && successorLearningObject == null) {
Expand Down Expand Up @@ -189,7 +189,7 @@ public LearningPathNavigationOverviewDTO getNavigationOverview(LearningPath lear
return new LearningPathNavigationOverviewDTO(learningObjects);
}

private LearningPathNavigationObjectDTO createLearningPathNavigationObjectDTO(LearningObject learningObject, User user, Competency competency) {
private LearningPathNavigationObjectDTO createLearningPathNavigationObjectDTO(LearningObject learningObject, User user, CourseCompetency competency) {
if (learningObject == null) {
return null;
}
Expand Down

0 comments on commit f6117c0

Please sign in to comment.