PY-6637 Extract helper superclass PyBaseRefactoringAction
authorMikhail Golubev <mikhail.golubev@jetbrains.com>
Tue, 29 Sep 2015 10:06:32 +0000 (13:06 +0300)
committerMikhail Golubev <mikhail.golubev@jetbrains.com>
Mon, 5 Oct 2015 10:09:00 +0000 (13:09 +0300)
I renamed package "com.jetbrains.refactoring.convert" to more clear
"com.jetbrains.refactoring.convertModulePackage" and
PyBaseConvertRefactoringAction to PyBaseConvertModulePackageAction.

python/src/META-INF/python-core.xml
python/src/com/jetbrains/python/refactoring/PyBaseRefactoringAction.java [new file with mode: 0644]
python/src/com/jetbrains/python/refactoring/convertModulePackage/PyBaseConvertModulePackageAction.java [moved from python/src/com/jetbrains/python/refactoring/convert/PyBaseConvertRefactoringAction.java with 52% similarity]
python/src/com/jetbrains/python/refactoring/convertModulePackage/PyConvertModuleToPackageAction.java [moved from python/src/com/jetbrains/python/refactoring/convert/PyConvertModuleToPackageAction.java with 96% similarity]
python/src/com/jetbrains/python/refactoring/convertModulePackage/PyConvertPackageToModuleAction.java [moved from python/src/com/jetbrains/python/refactoring/convert/PyConvertPackageToModuleAction.java with 98% similarity]
python/testSrc/com/jetbrains/python/refactoring/PyConvertModuleToPackageTest.java
python/testSrc/com/jetbrains/python/refactoring/PyConvertPackageToModuleTest.java

index 8e6db9ea9549b029d24ae1f5930326a8286360e7..c856bb4af183734e852b85b154cc150d40cd7ac8 100644 (file)
       <add-to-group group-id="XDebugger.ValueGroup" anchor="after" relative-to-action="Debugger.Tree.AddToWatches"/>
     </action>
 
-    <action id="PyConvertModuleToPackage" class="com.jetbrains.python.refactoring.convert.PyConvertModuleToPackageAction"
+    <action id="PyConvertModuleToPackage" class="com.jetbrains.python.refactoring.convertModulePackage.PyConvertModuleToPackageAction"
             text="Convert to Python Package"
             description="Create package with the same name and move content of the module to its __init__.py">
       <add-to-group group-id="RefactoringMenu" anchor="last" />
     </action>
 
-    <action id="PyConvertPackageToModuleAction" class="com.jetbrains.python.refactoring.convert.PyConvertPackageToModuleAction"
+    <action id="PyConvertPackageToModuleAction" class="com.jetbrains.python.refactoring.convertModulePackage.PyConvertPackageToModuleAction"
             text="Convert to Python Module"
             description="Create module with the same name and move content of __init__.py to that module">
       <add-to-group group-id="RefactoringMenu" anchor="last" />
diff --git a/python/src/com/jetbrains/python/refactoring/PyBaseRefactoringAction.java b/python/src/com/jetbrains/python/refactoring/PyBaseRefactoringAction.java
new file mode 100644 (file)
index 0000000..61fef15
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2000-2015 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.jetbrains.python.refactoring;
+
+import com.intellij.lang.Language;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
+import com.intellij.refactoring.actions.BaseRefactoringAction;
+import com.jetbrains.python.PythonLanguage;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author Mikhail Golubev
+ */
+public abstract class PyBaseRefactoringAction extends BaseRefactoringAction {
+  @Override
+  protected boolean isAvailableOnElementInEditorAndFile(@NotNull PsiElement element,
+                                                        @NotNull Editor editor,
+                                                        @NotNull PsiFile file,
+                                                        @NotNull DataContext context) {
+    return false;
+  }
+
+  @Override
+  protected final boolean isAvailableForLanguage(Language language) {
+    return language.isKindOf(PythonLanguage.getInstance());
+  }
+
+  @Override
+  protected boolean isAvailableForFile(PsiFile file) {
+    return isAvailableForLanguage(file.getLanguage());
+  }
+}
similarity index 52%
rename from python/src/com/jetbrains/python/refactoring/convert/PyBaseConvertRefactoringAction.java
rename to python/src/com/jetbrains/python/refactoring/convertModulePackage/PyBaseConvertModulePackageAction.java
index 9b1866d474d9d4a2e3ae41c78be30701ad2fdc2c..ea3a6c23bbf9a26c3fccdb6b01c0cc0d45a1cd61 100644 (file)
@@ -1,46 +1,22 @@
-package com.jetbrains.python.refactoring.convert;
+package com.jetbrains.python.refactoring.convertModulePackage;
 
-import com.intellij.lang.Language;
-import com.intellij.openapi.actionSystem.DataContext;
-import com.intellij.openapi.editor.Editor;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiFile;
 import com.intellij.refactoring.RefactoringBundle;
-import com.intellij.refactoring.actions.BaseRefactoringAction;
 import com.intellij.refactoring.util.CommonRefactoringUtil;
 import com.jetbrains.python.PyBundle;
-import com.jetbrains.python.PythonLanguage;
+import com.jetbrains.python.refactoring.PyBaseRefactoringAction;
 import org.jetbrains.annotations.NotNull;
 
 /**
  * @author Mikhail Golubev
  */
-public abstract class PyBaseConvertRefactoringAction extends BaseRefactoringAction {
+public abstract class PyBaseConvertModulePackageAction extends PyBaseRefactoringAction {
   @Override
   protected final boolean isAvailableInEditorOnly() {
     return false;
   }
 
-  @Override
-  protected boolean isAvailableOnElementInEditorAndFile(@NotNull PsiElement element,
-                                                        @NotNull Editor editor,
-                                                        @NotNull PsiFile file,
-                                                        @NotNull DataContext context) {
-    return false;
-  }
-
-  @Override
-  protected final boolean isAvailableForLanguage(Language language) {
-    return language.isKindOf(PythonLanguage.getInstance());
-  }
-
-  @Override
-  protected boolean isAvailableForFile(PsiFile file) {
-    return isAvailableForLanguage(file.getLanguage());
-  }
-
   /**
    * Show standard error dialog containing message about unexpected presense of given file or directory.
    *
similarity index 96%
rename from python/src/com/jetbrains/python/refactoring/convert/PyConvertModuleToPackageAction.java
rename to python/src/com/jetbrains/python/refactoring/convertModulePackage/PyConvertModuleToPackageAction.java
index 6716d82a7d078431e3477c746359df6f046388e4..8bb80d040abb0970c556ce9bbeea5b172591df54 100644 (file)
@@ -1,4 +1,4 @@
-package com.jetbrains.python.refactoring.convert;
+package com.jetbrains.python.refactoring.convertModulePackage;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.intellij.openapi.actionSystem.DataContext;
@@ -21,7 +21,7 @@ import java.io.IOException;
 /**
  * @author Mikhail Golubev
  */
-public class PyConvertModuleToPackageAction extends PyBaseConvertRefactoringAction {
+public class PyConvertModuleToPackageAction extends PyBaseConvertModulePackageAction {
   public static final String ID = "py.refactoring.convert.module.to.package";
   private static final Logger LOG = Logger.getInstance(PyConvertModuleToPackageAction.class);
 
similarity index 98%
rename from python/src/com/jetbrains/python/refactoring/convert/PyConvertPackageToModuleAction.java
rename to python/src/com/jetbrains/python/refactoring/convertModulePackage/PyConvertPackageToModuleAction.java
index 6a0b8f421112e10dc7f5f6b52f7ed3d2b33deade..a36aa99b8f6879ca618c3803cd1b5fb15d3fefb7 100644 (file)
@@ -1,4 +1,4 @@
-package com.jetbrains.python.refactoring.convert;
+package com.jetbrains.python.refactoring.convertModulePackage;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.intellij.openapi.actionSystem.DataContext;
@@ -29,7 +29,7 @@ import static com.jetbrains.python.psi.PyUtil.as;
 /**
  * @author Mikhail Golubev
  */
-public class PyConvertPackageToModuleAction extends PyBaseConvertRefactoringAction {
+public class PyConvertPackageToModuleAction extends PyBaseConvertModulePackageAction {
   private static final Logger LOG = Logger.getInstance(PyConvertPackageToModuleAction.class);
   private static final String ID = "py.refactoring.convert.package.to.module";
 
index 7b2958e06ca9f506c64c722a15dd5e92e2c3003b..9027cf4316ecd6e31bb9f37182eb27d3d546158f 100644 (file)
@@ -4,7 +4,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.testFramework.PlatformTestUtil;
 import com.jetbrains.python.fixtures.PyTestCase;
 import com.jetbrains.python.psi.PyFile;
-import com.jetbrains.python.refactoring.convert.PyConvertModuleToPackageAction;
+import com.jetbrains.python.refactoring.convertModulePackage.PyConvertModuleToPackageAction;
 
 /**
  * @author Mikhail Golubev
index c98fc785a252af91716df5c3278563a7018b0343..05d597139e4a5dde17d9ca2107880c5810c1cdee 100644 (file)
@@ -5,7 +5,7 @@ import com.intellij.psi.PsiDirectory;
 import com.intellij.psi.PsiManager;
 import com.intellij.testFramework.PlatformTestUtil;
 import com.jetbrains.python.fixtures.PyTestCase;
-import com.jetbrains.python.refactoring.convert.PyConvertPackageToModuleAction;
+import com.jetbrains.python.refactoring.convertModulePackage.PyConvertPackageToModuleAction;
 
 /**
  * @author Mikhail Golubev