From e90880ab54f262aeda670c92b0202107e062b9b7 Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Wed, 14 Sep 2016 14:46:11 +0300 Subject: [PATCH] Javafx: Made optional the dependency on properties module (IDEA-100213) --- ...FxResourcePropertyValueInspectionTest.java | 2 +- .../src/META-INF/common-javaFX-plugin.xml | 4 +-- .../javaFX/src/META-INF/resources-plugin.xml | 8 +++++ .../fxml/refs/FxmlReferencesContributor.java | 6 ---- .../FxmlResourceReferencesContributor.java | 29 +++++++++++++++++++ ...vaFxResourcePropertyReferenceProvider.java | 2 +- ...JavaFxResourcePropertyValueInspection.java | 2 +- 7 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 plugins/javaFX/src/META-INF/resources-plugin.xml create mode 100644 plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/FxmlResourceReferencesContributor.java rename plugins/javaFX/src/org/jetbrains/plugins/javaFX/{fxml/refs => resources}/JavaFxResourcePropertyReferenceProvider.java (96%) rename plugins/javaFX/src/org/jetbrains/plugins/javaFX/{fxml/codeInsight/inspections => resources}/JavaFxResourcePropertyValueInspection.java (97%) diff --git a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFxResourcePropertyValueInspectionTest.java b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFxResourcePropertyValueInspectionTest.java index bf93bbf3df57..ff1d779e56a7 100644 --- a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFxResourcePropertyValueInspectionTest.java +++ b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFxResourcePropertyValueInspectionTest.java @@ -2,7 +2,7 @@ package org.jetbrains.plugins.javaFX.fxml; import com.intellij.openapi.application.PluginPathManager; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections.JavaFxResourcePropertyValueInspection; +import org.jetbrains.plugins.javaFX.resources.JavaFxResourcePropertyValueInspection; /** * @author Pavel.Dolgov diff --git a/plugins/javaFX/src/META-INF/common-javaFX-plugin.xml b/plugins/javaFX/src/META-INF/common-javaFX-plugin.xml index 0f190af6485a..5d885ca1558d 100644 --- a/plugins/javaFX/src/META-INF/common-javaFX-plugin.xml +++ b/plugins/javaFX/src/META-INF/common-javaFX-plugin.xml @@ -1,6 +1,6 @@ com.intellij.modules.java - com.intellij.properties + com.intellij.properties @@ -30,8 +30,6 @@ enabledByDefault="true" level="WARNING" implementationClass="org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections.JavaFxColorRgbInspection"/> - diff --git a/plugins/javaFX/src/META-INF/resources-plugin.xml b/plugins/javaFX/src/META-INF/resources-plugin.xml new file mode 100644 index 000000000000..7e6073d6a8fa --- /dev/null +++ b/plugins/javaFX/src/META-INF/resources-plugin.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java index f297e975c585..7c87fb9758ad 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java @@ -114,12 +114,6 @@ public class FxmlReferencesContributor extends PsiReferenceContributor { .and(attributeValueInFxml), new JavaFxLocationReferenceProvider(false, "css")); - registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withValue(string().startsWith("%")) - .withParent(XmlPatterns.xmlAttribute().andNot( - XmlPatterns.xmlAttribute().withName( - FxmlConstants.FX_VALUE, FxmlConstants.FX_CONSTANT, FxmlConstants.FX_FACTORY))) - .and(attributeValueInFxml), new JavaFxResourcePropertyReferenceProvider()); - registrar.registerReferenceProvider(PlatformPatterns.psiElement(XmlProcessingInstruction.class).inVirtualFile(virtualFile().withExtension(JavaFxFileTypeFactory.FXML_EXTENSION)), new ImportReferenceProvider()); diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/FxmlResourceReferencesContributor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/FxmlResourceReferencesContributor.java new file mode 100644 index 000000000000..862ebcb0129a --- /dev/null +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/FxmlResourceReferencesContributor.java @@ -0,0 +1,29 @@ +package org.jetbrains.plugins.javaFX.resources; + +import com.intellij.patterns.XmlAttributeValuePattern; +import com.intellij.patterns.XmlPatterns; +import com.intellij.psi.PsiReferenceContributor; +import com.intellij.psi.PsiReferenceRegistrar; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.javaFX.fxml.FxmlConstants; +import org.jetbrains.plugins.javaFX.fxml.JavaFxFileTypeFactory; + +import static com.intellij.patterns.PlatformPatterns.virtualFile; +import static com.intellij.patterns.StandardPatterns.string; + +/** + * @author Pavel.Dolgov + */ +public class FxmlResourceReferencesContributor extends PsiReferenceContributor { + @Override + public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) { + final XmlAttributeValuePattern attributeValueInFxml = XmlPatterns.xmlAttributeValue().inVirtualFile( + virtualFile().withExtension(JavaFxFileTypeFactory.FXML_EXTENSION)); + + registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withValue(string().startsWith("%")) + .withParent(XmlPatterns.xmlAttribute().andNot( + XmlPatterns.xmlAttribute().withName( + FxmlConstants.FX_VALUE, FxmlConstants.FX_CONSTANT, FxmlConstants.FX_FACTORY))) + .and(attributeValueInFxml), new JavaFxResourcePropertyReferenceProvider()); + } +} diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxResourcePropertyReferenceProvider.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/JavaFxResourcePropertyReferenceProvider.java similarity index 96% rename from plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxResourcePropertyReferenceProvider.java rename to plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/JavaFxResourcePropertyReferenceProvider.java index 8da9bb4643cf..27a1b2247685 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxResourcePropertyReferenceProvider.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/JavaFxResourcePropertyReferenceProvider.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.javaFX.fxml.refs; +package org.jetbrains.plugins.javaFX.resources; import com.intellij.lang.properties.references.PropertyReference; import com.intellij.openapi.util.TextRange; diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxResourcePropertyValueInspection.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/JavaFxResourcePropertyValueInspection.java similarity index 97% rename from plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxResourcePropertyValueInspection.java rename to plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/JavaFxResourcePropertyValueInspection.java index fb893d5e9448..63f2da8dcc3d 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxResourcePropertyValueInspection.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/resources/JavaFxResourcePropertyValueInspection.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections; +package org.jetbrains.plugins.javaFX.resources; import com.intellij.codeInspection.LocalInspectionToolSession; import com.intellij.codeInspection.ProblemsHolder;