Fixed lesson sorting issue

This commit is contained in:
Max Geldner 2018-12-01 15:06:05 +01:00 committed by Nanne Baars
parent cfce7763f0
commit 6d974b5fa8
6 changed files with 22 additions and 4 deletions

View File

@ -45,6 +45,7 @@ public class LessonMenuItem {
private List<LessonMenuItem> children = new ArrayList<LessonMenuItem>(); private List<LessonMenuItem> children = new ArrayList<LessonMenuItem>();
private boolean complete; private boolean complete;
private String link; private String link;
private int ranking;
// private boolean showSource = true; // private boolean showSource = true;
// private boolean showHints = true; // private boolean showHints = true;
@ -156,6 +157,13 @@ public class LessonMenuItem {
this.link = link; this.link = link;
} }
public void setRanking(int ranking) {
this.ranking = ranking;
}
public int getRanking() {
return this.ranking;
}
} }

View File

@ -43,6 +43,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -86,14 +87,23 @@ public class LessonMenuService {
LessonMenuItem lessonItem = new LessonMenuItem(); LessonMenuItem lessonItem = new LessonMenuItem();
lessonItem.setName(lesson.getTitle()); lessonItem.setName(lesson.getTitle());
lessonItem.setLink(lesson.getLink()); lessonItem.setLink(lesson.getLink());
lessonItem.setRanking(lesson.getRanking());
lessonItem.setType(LessonMenuItemType.LESSON); lessonItem.setType(LessonMenuItemType.LESSON);
LessonTracker lessonTracker = userTracker.getLessonTracker(lesson); LessonTracker lessonTracker = userTracker.getLessonTracker(lesson);
lessonItem.setComplete(lessonTracker.isLessonSolved()); lessonItem.setComplete(lessonTracker.isLessonSolved());
categoryItem.addChild(lessonItem); categoryItem.addChild(lessonItem);
} }
categoryItem.getChildren().sort((o1, o2) -> o1.getRanking() - o2.getRanking());
menu.add(categoryItem); menu.add(categoryItem);
} }
return menu; return menu;
} }
public class CustomComparator implements java.util.Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
}
} }

View File

@ -48,7 +48,7 @@ public class SqlInjectionAdvanced extends NewLesson {
@Override @Override
public Integer getDefaultRanking() { public Integer getDefaultRanking() {
return 1; return 2;
} }
@Override @Override

View File

@ -55,7 +55,7 @@ public class SqlInjection extends NewLesson {
@Override @Override
public Integer getDefaultRanking() { public Integer getDefaultRanking() {
return 1; return 0;
} }
@Override @Override

View File

@ -48,7 +48,7 @@ public class SqlInjectionMitigations extends NewLesson {
@Override @Override
public Integer getDefaultRanking() { public Integer getDefaultRanking() {
return 1; return 3;
} }
@Override @Override

View File

@ -53,7 +53,7 @@ public class XXE extends NewLesson {
@Override @Override
public Integer getDefaultRanking() { public Integer getDefaultRanking() {
return 1; return 4;
} }
@Override @Override