diff --git a/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/EduProjectCreator.java b/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/EduProjectCreator.java index 3e71263cc13f..6f1bc099fb84 100644 --- a/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/EduProjectCreator.java +++ b/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/EduProjectCreator.java @@ -29,19 +29,19 @@ import org.jetbrains.annotations.Nullable; public class EduProjectCreator { public static final ExtensionPointName EP_NAME = ExtensionPointName.create("Edu.eduProjectCreator"); - public static boolean createProject(@NotNull Course course, @Nullable Consumer callback) { + public static boolean createProject(@NotNull Course course, @Nullable Consumer onCreated) { EduProjectCreator[] extensions = Extensions.getExtensions(EP_NAME); for (EduProjectCreator projectCreator : extensions) { if (projectCreator.canCreateProject(course)) { - return projectCreator.createCourseProject(course, callback); + return projectCreator.createCourseProject(course, onCreated); } } return false; } - public boolean createCourseProject(@NotNull Course course, @Nullable Consumer callback) { + public boolean createCourseProject(@NotNull Course course, @Nullable Consumer onCreated) { return false; } diff --git a/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/Utils.java b/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/Utils.java index 40f1f319827d..df670f9d353c 100644 --- a/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/Utils.java +++ b/python/educational-core/src/com/jetbrains/edu/learning/builtInServer/Utils.java @@ -169,7 +169,7 @@ public class Utils { }); for (Course course : availableCourses) { if (course instanceof RemoteCourse && ((RemoteCourse)course).getId() == courseId) { - Consumer callback = project -> + Consumer onCreated = project -> ApplicationManager.getApplication().invokeLater(() -> { StudyTaskManager taskManager = StudyTaskManager.getInstance(project); Course targetCourse = taskManager.getCourse(); @@ -177,7 +177,7 @@ public class Utils { navigateToStep(project, targetCourse, stepId); } }); - return EduProjectCreator.createProject(course, callback); + return EduProjectCreator.createProject(course, onCreated); } } return false; diff --git a/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java b/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java index 297984784aa8..96dd13b78740 100644 --- a/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java +++ b/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java @@ -57,7 +57,7 @@ public class PyStudyDirectoryProjectGenerator extends PythonProjectGenerator myCallback; + private final Consumer myOnCreated; public ValidationResult myValidationResult = new ValidationResult("selected course is not valid"); private final StudyNewProjectPanel mySettingsPanel; @@ -66,8 +66,8 @@ public class PyStudyDirectoryProjectGenerator extends PythonProjectGenerator callback) { - myCallback = callback; + public PyStudyDirectoryProjectGenerator(boolean isLocal, @Nullable Consumer onCreated) { + myOnCreated = onCreated; myGenerator = new StudyProjectGenerator(); myGenerator.addSettingsStateListener(new StudyProjectGenerator.SettingsListener() { @Override @@ -150,8 +150,12 @@ public class PyStudyDirectoryProjectGenerator extends PythonProjectGenerator callback) { - super(new BuiltInServerNewProjectStep.MyCustomization(course, callback)); + public BuiltInServerNewProjectStep(@NotNull Course course, @Nullable Consumer onCreated) { + super(new BuiltInServerNewProjectStep.MyCustomization(course, onCreated)); } protected static class MyCustomization extends PyCharmNewProjectStep.Customization { private final Course myCourse; private final PyStudyDirectoryProjectGenerator myGenerator; - public MyCustomization(@NotNull Course course, @Nullable Consumer callback) { + public MyCustomization(@NotNull Course course, @Nullable Consumer onCreated) { myCourse = course; - myGenerator = new PyStudyDirectoryProjectGenerator(true, callback); + myGenerator = new PyStudyDirectoryProjectGenerator(true, onCreated); } @NotNull diff --git a/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/builtInServer/EduPythonProjectCreator.java b/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/builtInServer/EduPythonProjectCreator.java index 405f23416948..ca927450bfe6 100644 --- a/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/builtInServer/EduPythonProjectCreator.java +++ b/python/educational-python/Edu-Python/src/com/jetbrains/edu/learning/builtInServer/EduPythonProjectCreator.java @@ -35,12 +35,12 @@ public class EduPythonProjectCreator extends EduProjectCreator { } @Override - public boolean createCourseProject(@NotNull Course course, @Nullable Consumer callback) { + public boolean createCourseProject(@NotNull Course course, @Nullable Consumer onCreated) { ApplicationManager.getApplication().invokeAndWait(() -> { AbstractNewProjectDialog dlg = new AbstractNewProjectDialog() { @Override protected DefaultActionGroup createRootStep() { - return new BuiltInServerNewProjectStep(course, callback); + return new BuiltInServerNewProjectStep(course, onCreated); } }; dlg.show();