diff --git a/java/java-tests/java-tests.iml b/java/java-tests/java-tests.iml
index 294b5ded0521..248b1d3b1836 100644
--- a/java/java-tests/java-tests.iml
+++ b/java/java-tests/java-tests.iml
@@ -14,7 +14,7 @@
-
+
diff --git a/plugins/properties/properties-psi-api/icon-robots.txt b/plugins/properties/properties-psi-api/icon-robots.txt
new file mode 100644
index 000000000000..0b7559b8c7ea
--- /dev/null
+++ b/plugins/properties/properties-psi-api/icon-robots.txt
@@ -0,0 +1 @@
+name: Properties
diff --git a/plugins/properties/resources/schemas/properties.dtd b/plugins/properties/properties-psi-api/resources/schemas/properties.dtd
similarity index 100%
rename from plugins/properties/resources/schemas/properties.dtd
rename to plugins/properties/properties-psi-api/resources/schemas/properties.dtd
diff --git a/plugins/properties/properties-psi-impl/properties-psi-impl.iml b/plugins/properties/properties-psi-impl/properties-psi-impl.iml
index 1eeaef3aa08f..76596cc333fe 100644
--- a/plugins/properties/properties-psi-impl/properties-psi-impl.iml
+++ b/plugins/properties/properties-psi-impl/properties-psi-impl.iml
@@ -7,7 +7,7 @@
-
+
@@ -15,6 +15,7 @@
+
diff --git a/plugins/properties/src/META-INF/plugin.xml b/plugins/properties/properties-psi-impl/src/META-INF/plugin.xml
similarity index 91%
rename from plugins/properties/src/META-INF/plugin.xml
rename to plugins/properties/properties-psi-impl/src/META-INF/plugin.xml
index f7afc05befff..d4dc21ce5b02 100644
--- a/plugins/properties/src/META-INF/plugin.xml
+++ b/plugins/properties/properties-psi-impl/src/META-INF/plugin.xml
@@ -12,13 +12,16 @@
+
-
+
-
@@ -66,12 +69,12 @@
+ implementationClass="com.intellij.codeInspection.TrailingSpacesInPropertyInspection"/>
-
+
diff --git a/plugins/properties/src/com/intellij/lang/properties/TrailingSpacesInPropertyInspection.java b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/TrailingSpacesInPropertyInspection.java
similarity index 92%
rename from plugins/properties/src/com/intellij/lang/properties/TrailingSpacesInPropertyInspection.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/TrailingSpacesInPropertyInspection.java
index 9ff99a9e0576..4ca736aabbcd 100644
--- a/plugins/properties/src/com/intellij/lang/properties/TrailingSpacesInPropertyInspection.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/TrailingSpacesInPropertyInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2010 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -13,15 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.intellij.lang.properties;
+package com.intellij.codeInspection;
-import com.intellij.codeInspection.InspectionManager;
-import com.intellij.codeInspection.LocalQuickFix;
-import com.intellij.codeInspection.ProblemDescriptor;
-import com.intellij.codeInspection.ProblemHighlightType;
import com.intellij.lang.ASTNode;
+import com.intellij.lang.properties.IProperty;
+import com.intellij.lang.properties.PropertiesBundle;
+import com.intellij.lang.properties.PropertySuppressableInspectionBase;
import com.intellij.lang.properties.psi.PropertiesFile;
-import com.intellij.lang.properties.psi.Property;
import com.intellij.lang.properties.psi.impl.PropertyImpl;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.progress.ProgressManager;
diff --git a/plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.form b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.form
similarity index 100%
rename from plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.form
rename to plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.form
diff --git a/plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java
similarity index 98%
rename from plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java
index 192f455ba615..d226349a8285 100644
--- a/plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -16,7 +16,7 @@
package com.intellij.codeInspection.duplicatePropertyInspection;
import com.intellij.codeInspection.*;
-import com.intellij.codeInspection.ex.GlobalInspectionContextImpl;
+import com.intellij.codeInspection.ex.GlobalInspectionContextBase;
import com.intellij.codeInspection.reference.RefManager;
import com.intellij.concurrency.JobLauncher;
import com.intellij.lang.properties.IProperty;
@@ -27,7 +27,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.progress.ProcessCanceledException;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.ProgressManager;
@@ -70,7 +70,7 @@ public class DuplicatePropertyInspection extends GlobalSimpleInspectionTool {
@NotNull ProblemsHolder problemsHolder,
@NotNull GlobalInspectionContext globalContext,
@NotNull ProblemDescriptionsProcessor problemDescriptionsProcessor) {
- checkFile(file, manager, (GlobalInspectionContextImpl)globalContext, globalContext.getRefManager(), problemDescriptionsProcessor);
+ checkFile(file, manager, (GlobalInspectionContextBase)globalContext, globalContext.getRefManager(), problemDescriptionsProcessor);
}
@SuppressWarnings({"HardCodedStringLiteral"})
@@ -135,7 +135,7 @@ public class DuplicatePropertyInspection extends GlobalSimpleInspectionTool {
private void checkFile(final PsiFile file,
final InspectionManager manager,
- GlobalInspectionContextImpl context,
+ GlobalInspectionContextBase context,
final RefManager refManager,
final ProblemDescriptionsProcessor processor) {
if (!(file instanceof PropertiesFile)) return;
@@ -143,7 +143,7 @@ public class DuplicatePropertyInspection extends GlobalSimpleInspectionTool {
final PsiSearchHelper searchHelper = PsiSearchHelper.SERVICE.getInstance(file.getProject());
final PropertiesFile propertiesFile = (PropertiesFile)file;
final List properties = propertiesFile.getProperties();
- Module module = ModuleUtil.findModuleForPsiElement(file);
+ Module module = ModuleUtilCore.findModuleForPsiElement(file);
if (module == null) return;
final GlobalSearchScope scope = CURRENT_FILE
? GlobalSearchScope.fileScope(file)
diff --git a/plugins/properties/src/com/intellij/codeInspection/unused/ImplicitPropertyUsageProvider.java b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/unused/ImplicitPropertyUsageProvider.java
similarity index 83%
rename from plugins/properties/src/com/intellij/codeInspection/unused/ImplicitPropertyUsageProvider.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/unused/ImplicitPropertyUsageProvider.java
index ee0b9f593638..f3f8cff01f79 100644
--- a/plugins/properties/src/com/intellij/codeInspection/unused/ImplicitPropertyUsageProvider.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/unused/ImplicitPropertyUsageProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -22,8 +22,7 @@ import com.intellij.openapi.extensions.ExtensionPointName;
* @author Max Medvedev
*/
public abstract class ImplicitPropertyUsageProvider {
- private static final ExtensionPointName EP_NAME =
- ExtensionPointName.create("com.intellij.properties.implicitPropertyUsageProvider");
+ public static final ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.properties.implicitPropertyUsageProvider");
public static boolean isImplicitlyUsed(Property property) {
for (ImplicitPropertyUsageProvider provider : EP_NAME.getExtensions()) {
diff --git a/plugins/properties/src/com/intellij/codeInspection/unused/UnusedPropertyInspection.java b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/unused/UnusedPropertyInspection.java
similarity index 91%
rename from plugins/properties/src/com/intellij/codeInspection/unused/UnusedPropertyInspection.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/unused/UnusedPropertyInspection.java
index 2f8370defdba..53e241ef24bd 100644
--- a/plugins/properties/src/com/intellij/codeInspection/unused/UnusedPropertyInspection.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/codeInspection/unused/UnusedPropertyInspection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -16,17 +16,18 @@
package com.intellij.codeInspection.unused;
import com.intellij.codeInspection.LocalInspectionToolSession;
+import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.codeInspection.ProblemHighlightType;
import com.intellij.codeInspection.ProblemsHolder;
import com.intellij.lang.ASTNode;
import com.intellij.lang.properties.PropertiesBundle;
+import com.intellij.lang.properties.PropertiesQuickFixFactory;
import com.intellij.lang.properties.PropertySuppressableInspectionBase;
-import com.intellij.lang.properties.RemovePropertyLocalFix;
import com.intellij.lang.properties.findUsages.PropertySearcher;
import com.intellij.lang.properties.psi.Property;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleUtil;
+import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.psi.PsiElement;
@@ -61,7 +62,7 @@ public class UnusedPropertyInspection extends PropertySuppressableInspectionBase
final boolean isOnTheFly,
@NotNull final LocalInspectionToolSession session) {
final PsiFile file = session.getFile();
- Module module = ModuleUtil.findModuleForPsiElement(file);
+ Module module = ModuleUtilCore.findModuleForPsiElement(file);
if (module == null) return super.buildVisitor(holder, isOnTheFly, session);
Object[] extensions = Extensions.getExtensions("com.intellij.referencesSearch");
final PropertySearcher searcher =
@@ -104,7 +105,8 @@ public class UnusedPropertyInspection extends PropertySuppressableInspectionBase
PsiElement key = nodes.length == 0 ? property : nodes[0].getPsi();
String description = PropertiesBundle.message("unused.property.problem.descriptor.name");
- holder.registerProblem(key, description, ProblemHighlightType.LIKE_UNUSED_SYMBOL, RemovePropertyLocalFix.INSTANCE);
+ LocalQuickFix fix = PropertiesQuickFixFactory.getInstance().createRemovePropertyLocalFix();
+ holder.registerProblem(key, description, ProblemHighlightType.LIKE_UNUSED_SYMBOL, fix);
}
};
}
diff --git a/plugins/properties/src/com/intellij/lang/properties/PropertiesAnnotator.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesAnnotator.java
similarity index 97%
rename from plugins/properties/src/com/intellij/lang/properties/PropertiesAnnotator.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesAnnotator.java
index 316a0f8c09b7..c5cdf72cbdf4 100644
--- a/plugins/properties/src/com/intellij/lang/properties/PropertiesAnnotator.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesAnnotator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -54,7 +54,7 @@ public class PropertiesAnnotator implements Annotator {
ASTNode keyNode = ((PropertyImpl)property).getKeyNode();
if (others.size() != 1) {
Annotation annotation = holder.createErrorAnnotation(keyNode, PropertiesBundle.message("duplicate.property.key.error.message"));
- annotation.registerFix(new RemovePropertyFix(property));
+ annotation.registerFix(PropertiesQuickFixFactory.getInstance().createRemovePropertyFix(property));
}
highlightTokens(property, keyNode, holder, new PropertiesHighlighter());
diff --git a/plugins/properties/src/com/intellij/lang/properties/PropertiesCommenter.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesCommenter.java
similarity index 96%
rename from plugins/properties/src/com/intellij/lang/properties/PropertiesCommenter.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesCommenter.java
index a80c90f8ed02..8e63111ff8e1 100644
--- a/plugins/properties/src/com/intellij/lang/properties/PropertiesCommenter.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesCommenter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesQuickFixFactory.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesQuickFixFactory.java
new file mode 100644
index 000000000000..cd714a4bcf63
--- /dev/null
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesQuickFixFactory.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2000-2014 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.intellij.lang.properties;
+
+import com.intellij.codeInsight.intention.IntentionAction;
+import com.intellij.codeInspection.LocalQuickFix;
+import com.intellij.lang.properties.psi.PropertiesFile;
+import com.intellij.lang.properties.psi.Property;
+import com.intellij.openapi.components.ServiceManager;
+import com.intellij.psi.PsiElement;
+
+import java.util.List;
+
+public abstract class PropertiesQuickFixFactory {
+ public static PropertiesQuickFixFactory getInstance() {
+ return ServiceManager.getService(PropertiesQuickFixFactory.class);
+ }
+
+ public abstract LocalQuickFix createCreatePropertyFix(PsiElement element, String key, List files);
+
+ public abstract IntentionAction createRemovePropertyFix(Property property);
+
+ public abstract LocalQuickFix createRemovePropertyLocalFix();
+}
diff --git a/plugins/properties/src/com/intellij/lang/properties/PropertiesUtilBase.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesUtilBase.java
similarity index 100%
rename from plugins/properties/src/com/intellij/lang/properties/PropertiesUtilBase.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertiesUtilBase.java
diff --git a/plugins/properties/src/com/intellij/lang/properties/PropertySuppressableInspectionBase.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertySuppressableInspectionBase.java
similarity index 99%
rename from plugins/properties/src/com/intellij/lang/properties/PropertySuppressableInspectionBase.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertySuppressableInspectionBase.java
index 7aff26844901..0c26c67267e7 100644
--- a/plugins/properties/src/com/intellij/lang/properties/PropertySuppressableInspectionBase.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertySuppressableInspectionBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2010 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/PropertyValueManipulator.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertyValueManipulator.java
similarity index 100%
rename from plugins/properties/src/com/intellij/lang/properties/PropertyValueManipulator.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/PropertyValueManipulator.java
diff --git a/plugins/properties/src/com/intellij/lang/properties/RemovePropertyFix.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/RemovePropertyFix.java
similarity index 94%
rename from plugins/properties/src/com/intellij/lang/properties/RemovePropertyFix.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/RemovePropertyFix.java
index a5fd365f58c5..e183e7ce5cc9 100644
--- a/plugins/properties/src/com/intellij/lang/properties/RemovePropertyFix.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/RemovePropertyFix.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -27,7 +27,7 @@ import org.jetbrains.annotations.NotNull;
/**
* @author cdr
*/
-class RemovePropertyFix implements IntentionAction {
+public class RemovePropertyFix implements IntentionAction {
private final Property myProperty;
public RemovePropertyFix(@NotNull final Property origProperty) {
diff --git a/plugins/properties/src/com/intellij/lang/properties/RemovePropertyLocalFix.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/RemovePropertyLocalFix.java
similarity index 97%
rename from plugins/properties/src/com/intellij/lang/properties/RemovePropertyLocalFix.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/RemovePropertyLocalFix.java
index 5c8c581f44cb..8b5a583c5900 100644
--- a/plugins/properties/src/com/intellij/lang/properties/RemovePropertyLocalFix.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/RemovePropertyLocalFix.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/PropertiesGroupingStructureViewModel.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesGroupingStructureViewModel.java
similarity index 95%
rename from plugins/properties/src/com/intellij/lang/properties/editor/PropertiesGroupingStructureViewModel.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesGroupingStructureViewModel.java
index f9dcf034c015..2faf98d6a126 100644
--- a/plugins/properties/src/com/intellij/lang/properties/editor/PropertiesGroupingStructureViewModel.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesGroupingStructureViewModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/PropertiesValueHighlighter.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesValueHighlighter.java
similarity index 95%
rename from plugins/properties/src/com/intellij/lang/properties/editor/PropertiesValueHighlighter.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesValueHighlighter.java
index 0a937f07e62a..8e17f6c514e2 100644
--- a/plugins/properties/src/com/intellij/lang/properties/editor/PropertiesValueHighlighter.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesValueHighlighter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/PropertiesValueHighlightingLexer.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesValueHighlightingLexer.java
similarity index 97%
rename from plugins/properties/src/com/intellij/lang/properties/editor/PropertiesValueHighlightingLexer.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesValueHighlightingLexer.java
index a4e105adbc6c..6c55ffeb9697 100644
--- a/plugins/properties/src/com/intellij/lang/properties/editor/PropertiesValueHighlightingLexer.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/PropertiesValueHighlightingLexer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java
similarity index 93%
rename from plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java
index 2f799368084c..f46d207dc935 100644
--- a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleAsVirtualFile.java
@@ -19,9 +19,7 @@
*/
package com.intellij.lang.properties.editor;
-import com.intellij.ide.presentation.Presentation;
import com.intellij.lang.properties.ResourceBundle;
-import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileSystem;
import org.jetbrains.annotations.NotNull;
@@ -30,14 +28,14 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-@Presentation(icon = "AllIcons.Nodes.ResourceBundle")
public class ResourceBundleAsVirtualFile extends VirtualFile {
private final ResourceBundle myResourceBundle;
- public ResourceBundleAsVirtualFile(ResourceBundle resourceBundle) {
+ public ResourceBundleAsVirtualFile(@NotNull ResourceBundle resourceBundle) {
myResourceBundle = resourceBundle;
}
+ @NotNull
public ResourceBundle getResourceBundle() {
return myResourceBundle;
}
@@ -45,7 +43,7 @@ public class ResourceBundleAsVirtualFile extends VirtualFile {
@Override
@NotNull
public VirtualFileSystem getFileSystem() {
- return LocalFileSystem.getInstance();
+ return myResourceBundle.getBaseDirectory().getFileSystem();
}
@Override
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleFileStructureViewElement.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleFileStructureViewElement.java
similarity index 100%
rename from plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleFileStructureViewElement.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleFileStructureViewElement.java
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundlePropertyStructureViewElement.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundlePropertyStructureViewElement.java
similarity index 100%
rename from plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundlePropertyStructureViewElement.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundlePropertyStructureViewElement.java
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleStructureViewModel.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleStructureViewModel.java
similarity index 100%
rename from plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleStructureViewModel.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleStructureViewModel.java
diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleUtil.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleUtil.java
similarity index 72%
rename from plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleUtil.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleUtil.java
index ab2035c70b2f..53a9bd4dc31a 100644
--- a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundleUtil.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/editor/ResourceBundleUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -20,8 +20,6 @@ import com.intellij.lang.properties.ResourceBundle;
import com.intellij.lang.properties.psi.PropertiesFile;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
-import com.intellij.openapi.fileEditor.FileEditor;
-import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
@@ -68,30 +66,4 @@ public class ResourceBundleUtil {
}
return null;
}
-
- /**
- * Tries to derive {@link ResourceBundleEditor resource bundle editor} identified by the given context.
- *
- * @param dataContext target data context
- * @return resource bundle editor identified by the given context; null otherwise
- */
- @Nullable
- public static ResourceBundleEditor getEditor(@NotNull DataContext dataContext) {
- Project project = CommonDataKeys.PROJECT.getData(dataContext);
- if (project == null) {
- return null;
- }
-
- VirtualFile virtualFile = CommonDataKeys.VIRTUAL_FILE.getData(dataContext);
- if (virtualFile == null) {
- return null;
- }
- FileEditor[] editors = FileEditorManager.getInstance(project).getEditors(virtualFile);
- if (editors.length != 1 || (!(editors[0] instanceof ResourceBundleEditor))) {
- return null;
- }
-
- return (ResourceBundleEditor)editors[0];
- }
-
}
diff --git a/plugins/properties/src/com/intellij/lang/properties/findUsages/PropertiesFindUsagesProvider.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/findUsages/PropertiesFindUsagesProvider.java
similarity index 97%
rename from plugins/properties/src/com/intellij/lang/properties/findUsages/PropertiesFindUsagesProvider.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/findUsages/PropertiesFindUsagesProvider.java
index 99e73384850c..a2d38d2986f0 100644
--- a/plugins/properties/src/com/intellij/lang/properties/findUsages/PropertiesFindUsagesProvider.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/findUsages/PropertiesFindUsagesProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/findUsages/PropertySearcher.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/findUsages/PropertySearcher.java
similarity index 95%
rename from plugins/properties/src/com/intellij/lang/properties/findUsages/PropertySearcher.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/findUsages/PropertySearcher.java
index 0239356a7a17..4fa4830597c5 100644
--- a/plugins/properties/src/com/intellij/lang/properties/findUsages/PropertySearcher.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/findUsages/PropertySearcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/parsing/PropertiesWordsScanner.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/parsing/PropertiesWordsScanner.java
similarity index 96%
rename from plugins/properties/src/com/intellij/lang/properties/parsing/PropertiesWordsScanner.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/parsing/PropertiesWordsScanner.java
index c4d54d61e10e..cc22eb1f6944 100644
--- a/plugins/properties/src/com/intellij/lang/properties/parsing/PropertiesWordsScanner.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/parsing/PropertiesWordsScanner.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/src/com/intellij/lang/properties/refactoring/PropertiesRefactoringSettings.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/refactoring/PropertiesRefactoringSettings.java
similarity index 97%
rename from plugins/properties/src/com/intellij/lang/properties/refactoring/PropertiesRefactoringSettings.java
rename to plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/refactoring/PropertiesRefactoringSettings.java
index 650f2ac0555c..bf84c6b25a12 100644
--- a/plugins/properties/src/com/intellij/lang/properties/refactoring/PropertiesRefactoringSettings.java
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/refactoring/PropertiesRefactoringSettings.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
diff --git a/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/references/PropertiesPsiCompletionUtil.java b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/references/PropertiesPsiCompletionUtil.java
new file mode 100644
index 000000000000..4fe5ce2f8e8d
--- /dev/null
+++ b/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/references/PropertiesPsiCompletionUtil.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2000-2014 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.intellij.lang.properties.references;
+
+import com.intellij.lang.properties.IProperty;
+import com.intellij.lang.properties.PropertiesFileProcessor;
+import com.intellij.lang.properties.PropertiesReferenceManager;
+import com.intellij.lang.properties.psi.PropertiesFile;
+import com.intellij.openapi.roots.ProjectRootManager;
+import com.intellij.openapi.util.Comparing;
+import gnu.trove.THashSet;
+import gnu.trove.TObjectHashingStrategy;
+
+import java.util.List;
+import java.util.Set;
+
+public class PropertiesPsiCompletionUtil {
+ public static void addVariantsFromFile(PropertyReferenceBase propertyReference,
+ final PropertiesFile propertiesFile,
+ final Set