Refactoring: move methods
This commit is contained in:
+14
-3
@@ -34,10 +34,12 @@ import com.intellij.openapi.vfs.VirtualFile;
|
|||||||
import com.intellij.ui.EditorNotificationPanel;
|
import com.intellij.ui.EditorNotificationPanel;
|
||||||
import com.intellij.ui.EditorNotifications;
|
import com.intellij.ui.EditorNotifications;
|
||||||
import com.intellij.util.messages.MessageBusConnection;
|
import com.intellij.util.messages.MessageBusConnection;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.plugin.JetFileType;
|
import org.jetbrains.jet.plugin.JetFileType;
|
||||||
import org.jetbrains.jet.plugin.framework.JetJavaFrameworkSupportProvider;
|
import org.jetbrains.jet.plugin.framework.JetJavaFrameworkSupportProvider;
|
||||||
import org.jetbrains.jet.plugin.framework.JetJavaScriptFrameworkSupportProvider;
|
import org.jetbrains.jet.plugin.framework.JetJavaScriptFrameworkSupportProvider;
|
||||||
|
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
|
||||||
import org.jetbrains.jet.plugin.framework.ui.AddSupportForSingleFrameworkDialogFixed;
|
import org.jetbrains.jet.plugin.framework.ui.AddSupportForSingleFrameworkDialogFixed;
|
||||||
|
|
||||||
public class KotlinLibrariesNotificationProvider extends EditorNotifications.Provider<EditorNotificationPanel> {
|
public class KotlinLibrariesNotificationProvider extends EditorNotifications.Provider<EditorNotificationPanel> {
|
||||||
@@ -86,7 +88,7 @@ public class KotlinLibrariesNotificationProvider extends EditorNotifications.Pro
|
|||||||
Module module = ModuleUtilCore.findModuleForFile(file, myProject);
|
Module module = ModuleUtilCore.findModuleForFile(file, myProject);
|
||||||
if (module == null) return null;
|
if (module == null) return null;
|
||||||
|
|
||||||
if (!KotlinRuntimeLibraryUtil.isModuleAlreadyConfigured(module)) {
|
if (!isModuleAlreadyConfigured(module)) {
|
||||||
return createFrameworkConfigurationNotificationPanel(module);
|
return createFrameworkConfigurationNotificationPanel(module);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,6 +104,17 @@ public class KotlinLibrariesNotificationProvider extends EditorNotifications.Pro
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isModuleAlreadyConfigured(Module module) {
|
||||||
|
return isMavenModule(module) || KotlinFrameworkDetector.isJsModule(module) || KotlinFrameworkDetector.isJavaModule(module);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isMavenModule(@NotNull Module module) {
|
||||||
|
// This constant could be acquired from MavenProjectsManager, but we don't want to depend on the Maven plugin...
|
||||||
|
// See MavenProjectsManager.isMavenizedModule()
|
||||||
|
return "true".equals(module.getOptionValue("org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static EditorNotificationPanel createFrameworkConfigurationNotificationPanel(final Module module) {
|
private static EditorNotificationPanel createFrameworkConfigurationNotificationPanel(final Module module) {
|
||||||
EditorNotificationPanel answer = new EditorNotificationPanel();
|
EditorNotificationPanel answer = new EditorNotificationPanel();
|
||||||
|
|
||||||
@@ -131,8 +144,6 @@ public class KotlinLibrariesNotificationProvider extends EditorNotifications.Pro
|
|||||||
return answer;
|
return answer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void updateNotifications() {
|
private void updateNotifications() {
|
||||||
ApplicationManager.getApplication().invokeLater(new Runnable() {
|
ApplicationManager.getApplication().invokeLater(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ import org.jetbrains.jet.lang.resolve.java.AbiVersionUtil;
|
|||||||
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
|
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
|
|
||||||
import org.jetbrains.jet.utils.PathUtil;
|
import org.jetbrains.jet.utils.PathUtil;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -131,16 +130,6 @@ public class KotlinRuntimeLibraryUtil {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isModuleAlreadyConfigured(Module module) {
|
|
||||||
return isMavenModule(module) || KotlinFrameworkDetector.isJsModule(module) || KotlinFrameworkDetector.isJavaModule(module);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isMavenModule(@NotNull Module module) {
|
|
||||||
// This constant could be acquired from MavenProjectsManager, but we don't want to depend on the Maven plugin...
|
|
||||||
// See MavenProjectsManager.isMavenizedModule()
|
|
||||||
return "true".equals(module.getOptionValue("org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static PsiClass getKotlinRuntimeMarkerClass(@NotNull GlobalSearchScope scope) {
|
public static PsiClass getKotlinRuntimeMarkerClass(@NotNull GlobalSearchScope scope) {
|
||||||
FqName kotlinPackageFqName = FqName.topLevel(Name.identifier("kotlin"));
|
FqName kotlinPackageFqName = FqName.topLevel(Name.identifier("kotlin"));
|
||||||
|
|||||||
Reference in New Issue
Block a user