Show non-adaptive courses first in course list in Project Wizard

This commit is contained in:
Valentina Kiryushkina
2016-08-03 18:58:55 +03:00
parent ae52786e0e
commit ff112e60c5
2 changed files with 14 additions and 3 deletions
@@ -57,6 +57,7 @@ import com.jetbrains.edu.learning.core.EduUtils;
import com.jetbrains.edu.learning.courseFormat.*;
import com.jetbrains.edu.learning.courseGeneration.StudyProjectGenerator;
import com.jetbrains.edu.learning.editor.StudyEditor;
import com.jetbrains.edu.learning.stepic.CourseInfo;
import com.jetbrains.edu.learning.ui.StudyToolWindow;
import com.jetbrains.edu.learning.ui.StudyToolWindowFactory;
import com.petebevin.markdown.MarkdownProcessor;
@@ -66,9 +67,7 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.*;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
@@ -713,4 +712,15 @@ public class StudyUtils {
JBPopupFactory.getInstance().createHtmlTextBalloonBuilder("Couldn't post your reaction", MessageType.ERROR, null).createBalloon();
showCheckPopUp(project, balloon);
}
public static void sortCourses(List<CourseInfo> result) {
// sort courses so as to have non-adaptive courses in the beginning of the list
Collections.sort(result, (c1, c2) -> {
if ((c1.isAdaptive() && c2.isAdaptive()) || (!c1.isAdaptive() && !c2.isAdaptive())) {
return 0;
}
return c1.isAdaptive() ? 1 : -1;
});
}
}
@@ -383,6 +383,7 @@ public class StudyProjectGenerator {
if (myCourses.isEmpty()) {
myCourses = getBundledIntro();
}
StudyUtils.sortCourses(myCourses);
return myCourses;
}