remove usages of redundant CCProjectService
[idea/community.git] / python / educational-core / course-creator / src / com / jetbrains / edu / coursecreator / actions / CCCreateCourseArchive.java
index 486f3b247c5dc83407f98dbb46bfc8d28009453e..bbef6bc15515ac198da960d5a73799e9ec4eff1e 100644 (file)
@@ -7,6 +7,7 @@ import com.intellij.ide.projectView.ProjectView;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.CommonDataKeys;
 import com.intellij.openapi.actionSystem.LangDataKeys;
+import com.intellij.openapi.actionSystem.Presentation;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.module.Module;
@@ -20,6 +21,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileManager;
 import com.intellij.util.containers.HashMap;
 import com.intellij.util.io.ZipUtil;
+import com.jetbrains.edu.learning.StudyTaskManager;
 import com.jetbrains.edu.learning.core.EduNames;
 import com.jetbrains.edu.learning.core.EduUtils;
 import com.jetbrains.edu.learning.courseFormat.Course;
@@ -27,7 +29,6 @@ import com.jetbrains.edu.learning.courseFormat.Lesson;
 import com.jetbrains.edu.learning.courseFormat.Task;
 import com.jetbrains.edu.learning.courseFormat.TaskFile;
 import com.jetbrains.edu.coursecreator.CCLanguageManager;
-import com.jetbrains.edu.coursecreator.CCProjectService;
 import com.jetbrains.edu.coursecreator.CCUtils;
 import com.jetbrains.edu.coursecreator.ui.CreateCourseArchiveDialog;
 import org.jetbrains.annotations.NotNull;
@@ -56,7 +57,9 @@ public class CCCreateCourseArchive extends DumbAwareAction {
 
   @Override
   public void update(@NotNull AnActionEvent e) {
-    CCProjectService.setCCActionAvailable(e);
+    Presentation presentation = e.getPresentation();
+    Project project = e.getProject();
+    presentation.setEnabledAndVisible(project != null && CCUtils.isCourseCreator(project));
   }
 
   @Override
@@ -70,8 +73,7 @@ public class CCCreateCourseArchive extends DumbAwareAction {
   }
 
   private void createCourseArchive(final Project project, Module module) {
-    final CCProjectService service = CCProjectService.getInstance(project);
-    final Course course = service.getCourse();
+    final Course course = StudyTaskManager.getInstance(project).getCourse();
     if (course == null) return;
     CreateCourseArchiveDialog dlg = new CreateCourseArchiveDialog(project, this);
     dlg.show();
@@ -195,8 +197,7 @@ public class CCCreateCourseArchive extends DumbAwareAction {
 
   @SuppressWarnings("IOResourceOpenedButNotSafelyClosed")
   private static void generateJson(@NotNull final Project project, VirtualFile parentDir) {
-    final CCProjectService service = CCProjectService.getInstance(project);
-    final Course course = service.getCourse();
+    final Course course = StudyTaskManager.getInstance(project).getCourse();
     final Gson gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create();
     final String json = gson.toJson(course);
     final File courseJson = new File(parentDir.getPath(), EduNames.COURSE_META_FILE);