quick fixes: extension point for order entry quick fixes renamed to MissingDependencyFixProvider

This commit is contained in:
Vladislav.Soroka
2015-07-16 12:33:34 +03:00
parent 7271f6e8f2
commit 835d90a75b
4 changed files with 28 additions and 26 deletions
@@ -19,6 +19,7 @@ import com.intellij.codeInsight.AnnotationUtil;
import com.intellij.codeInsight.daemon.QuickFixActionRegistrar;
import com.intellij.codeInsight.daemon.QuickFixBundle;
import com.intellij.codeInsight.daemon.impl.actions.AddImportAction;
import com.intellij.codeInsight.daemon.quickFix.MissingDependencyFixProvider;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.codeInspection.ProblemDescriptor;
@@ -100,9 +101,9 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix {
final Module currentModule = fileIndex.getModuleForFile(classVFile);
if (currentModule == null) return null;
final List<LocalQuickFix> providedFixes = OrderEntryFixProvider.findFixes(new Function<OrderEntryFixProvider, List<LocalQuickFix>>() {
final List<LocalQuickFix> providedFixes = MissingDependencyFixProvider.findFixes(new Function<MissingDependencyFixProvider, List<LocalQuickFix>>() {
@Override
public List<LocalQuickFix> fun(OrderEntryFixProvider provider) {
public List<LocalQuickFix> fun(MissingDependencyFixProvider provider) {
return provider.registerFixes(registrar, reference);
}
});
@@ -153,9 +154,9 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix {
}
};
final OrderEntryFix providedFix = OrderEntryFixProvider.find(new Function<OrderEntryFixProvider, OrderEntryFix>() {
final OrderEntryFix providedFix = MissingDependencyFixProvider.find(new Function<MissingDependencyFixProvider, OrderEntryFix>() {
@Override
public OrderEntryFix fun(OrderEntryFixProvider provider) {
public OrderEntryFix fun(MissingDependencyFixProvider provider) {
return provider.getJetbrainsAnnotationFix(reference, platformFix, currentModule);
}
});
@@ -178,9 +179,9 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix {
final PsiClass[] finalClasses = classes;
final OrderEntryFix finalModuleDependencyFix = moduleDependencyFix;
final OrderEntryFix providedModuleDependencyFix = OrderEntryFixProvider.find(new Function<OrderEntryFixProvider, OrderEntryFix>() {
final OrderEntryFix providedModuleDependencyFix = MissingDependencyFixProvider.find(new Function<MissingDependencyFixProvider, OrderEntryFix>() {
@Override
public OrderEntryFix fun(OrderEntryFixProvider provider) {
public OrderEntryFix fun(MissingDependencyFixProvider provider) {
return provider.getAddModuleDependencyFix(reference, finalModuleDependencyFix, currentModule, classVFile, finalClasses);
}
});
@@ -244,9 +245,9 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix {
}
};
final OrderEntryFix providedFix = OrderEntryFixProvider.find(new Function<OrderEntryFixProvider, OrderEntryFix>() {
final OrderEntryFix providedFix = MissingDependencyFixProvider.find(new Function<MissingDependencyFixProvider, OrderEntryFix>() {
@Override
public OrderEntryFix fun(OrderEntryFixProvider provider) {
public OrderEntryFix fun(MissingDependencyFixProvider provider) {
return provider.getAddLibraryToClasspathFix(reference, platformFix, currentModule, libraryEntry, aClass);
}
});
@@ -321,9 +322,9 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix {
public static void addJarsToRoots(@NotNull final List<String> jarPaths, @Nullable final String libraryName,
@NotNull final Module module, @Nullable final PsiElement location) {
final Boolean isAdded = OrderEntryFixProvider.find(new Function<OrderEntryFixProvider, Boolean>() {
final Boolean isAdded = MissingDependencyFixProvider.find(new Function<MissingDependencyFixProvider, Boolean>() {
@Override
public Boolean fun(OrderEntryFixProvider provider) {
public Boolean fun(MissingDependencyFixProvider provider) {
return provider.addJarsToRoots(jarPaths, libraryName, module, location);
}
});
@@ -13,9 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.codeInsight.daemon.impl.quickfix;
package com.intellij.codeInsight.daemon.quickFix;
import com.intellij.codeInsight.daemon.QuickFixActionRegistrar;
import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix;
import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.Extensions;
@@ -33,7 +34,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
/**
* {@link OrderEntryFixProvider} extension can be used to override or complement default platform {@link OrderEntryFix}-es.
* {@link MissingDependencyFixProvider} extension can be used to override or complement default platform {@link OrderEntryFix}-es.
* <p/>
* It can be useful for modules imported from external build system like Maven, Gradle etc,
* when external build configuration(pom.xml/*.gradle scripts) should be changed in additional or instead of IntelliJ project configuration.
@@ -41,14 +42,14 @@ import java.util.List;
* @author Vladislav.Soroka
* @since 7/15/2015
*/
public abstract class OrderEntryFixProvider {
private static final ExtensionPointName<OrderEntryFixProvider> EP_NAME =
ExtensionPointName.create("com.intellij.codeInsight.orderEntryFixProvider");
public abstract class MissingDependencyFixProvider {
private static final ExtensionPointName<MissingDependencyFixProvider> EP_NAME =
ExtensionPointName.create("com.intellij.codeInsight.missingDependencyFixProvider");
@Nullable
public static List<LocalQuickFix> findFixes(Function<OrderEntryFixProvider, List<LocalQuickFix>> provider) {
OrderEntryFixProvider[] fixProviders = Extensions.getExtensions(EP_NAME);
for (OrderEntryFixProvider each : fixProviders) {
public static List<LocalQuickFix> findFixes(Function<MissingDependencyFixProvider, List<LocalQuickFix>> provider) {
MissingDependencyFixProvider[] fixProviders = Extensions.getExtensions(EP_NAME);
for (MissingDependencyFixProvider each : fixProviders) {
List<LocalQuickFix> result = provider.fun(each);
if (result != null && !result.isEmpty()) return result;
}
@@ -57,9 +58,9 @@ public abstract class OrderEntryFixProvider {
}
@Nullable
public static <T> T find(Function<OrderEntryFixProvider, T> provider) {
OrderEntryFixProvider[] fixProviders = Extensions.getExtensions(EP_NAME);
for (OrderEntryFixProvider each : fixProviders) {
public static <T> T find(Function<MissingDependencyFixProvider, T> provider) {
MissingDependencyFixProvider[] fixProviders = Extensions.getExtensions(EP_NAME);
for (MissingDependencyFixProvider each : fixProviders) {
T result = provider.fun(each);
if (result != null && Boolean.FALSE != result) return result;
}
@@ -52,8 +52,8 @@
<extensionPoint name="codeInsight.unresolvedReferenceQuickFixProvider"
interface="com.intellij.codeInsight.quickfix.UnresolvedReferenceQuickFixProvider"/>
<extensionPoint name="codeInsight.orderEntryFixProvider"
interface="com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFixProvider"/>
<extensionPoint name="codeInsight.missingDependencyFixProvider"
interface="com.intellij.codeInsight.daemon.quickFix.MissingDependencyFixProvider"/>
<extensionPoint name="bidiRegionsSeparator"
beanClass="com.intellij.lang.LanguageExtensionPoint">
@@ -18,7 +18,7 @@ package com.intellij.execution.junit.codeInsight;
import com.intellij.codeInsight.daemon.QuickFixActionRegistrar;
import com.intellij.codeInsight.daemon.QuickFixBundle;
import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix;
import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFixProvider;
import com.intellij.codeInsight.daemon.quickFix.MissingDependencyFixProvider;
import com.intellij.codeInsight.quickfix.UnresolvedReferenceQuickFixProvider;
import com.intellij.execution.junit.JUnit3Framework;
import com.intellij.execution.junit.JUnit4Framework;
@@ -103,9 +103,9 @@ public class JUnitUnresolvedReferenceQuickFixProvider extends UnresolvedReferenc
}
};
final OrderEntryFix providedFix = OrderEntryFixProvider.find(new Function<OrderEntryFixProvider, OrderEntryFix>() {
final OrderEntryFix providedFix = MissingDependencyFixProvider.find(new Function<MissingDependencyFixProvider, OrderEntryFix>() {
@Override
public OrderEntryFix fun(OrderEntryFixProvider provider) {
public OrderEntryFix fun(MissingDependencyFixProvider provider) {
return provider.getJUnitFix(reference, platformFix, currentModule, framework, className);
}
});