UrlPsiReference promoted

This commit is contained in:
Dmitry Avdeev
2013-08-27 17:45:09 +04:00
parent 3b1feea1c0
commit d4579e1933
3 changed files with 17 additions and 17 deletions
@@ -13,33 +13,32 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.idea.maven.dom.references;
package com.intellij.psi.impl;
import com.intellij.ide.BrowserUtil;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.intellij.psi.impl.FakePsiElement;
import com.intellij.psi.PsiReferenceBase;
import org.jetbrains.annotations.NotNull;
public class MavenUrlPsiReference extends MavenPsiReference {
public MavenUrlPsiReference(PsiElement element, String text, TextRange range) {
super(element, text, range);
public class UrlPsiReference extends PsiReferenceBase<PsiElement> {
public UrlPsiReference(PsiElement element) {
super(element);
}
public PsiElement resolve() {
return new FakePsiElement() {
public PsiElement getParent() {
return myElement;
return getElement();
}
@Override
public String getName() {
return myText;
return getValue();
}
@Override
public void navigate(boolean requestFocus) {
BrowserUtil.launchBrowser(myText);
BrowserUtil.launchBrowser(getValue());
}
};
}
@@ -48,4 +47,9 @@ public class MavenUrlPsiReference extends MavenPsiReference {
public Object[] getVariants() {
return EMPTY_ARRAY;
}
@Override
public boolean isSoft() {
return true;
}
}
@@ -18,10 +18,10 @@ package org.jetbrains.idea.maven.dom.converters;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
import com.intellij.psi.impl.UrlPsiReference;
import com.intellij.util.xml.ConvertContext;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.maven.dom.references.MavenUrlPsiReference;
public class MavenUrlConverter extends MavenReferenceConverter<String> {
@Override
@@ -35,6 +35,6 @@ public class MavenUrlConverter extends MavenReferenceConverter<String> {
}
protected PsiReference createReference(PsiElement element, String text, TextRange range) {
return new MavenUrlPsiReference(element, text, range);
return new UrlPsiReference(element);
}
}
@@ -18,11 +18,10 @@ package org.jetbrains.idea.maven.dom.converters.repositories;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.ElementManipulators;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
import com.intellij.psi.impl.UrlPsiReference;
import com.intellij.util.xml.ConvertContext;
import com.intellij.util.xml.GenericDomValue;
import com.intellij.util.xml.ResolvingConverter;
@@ -31,7 +30,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.maven.dom.converters.MavenUrlConverter;
import org.jetbrains.idea.maven.dom.model.MavenDomRepositoryBase;
import org.jetbrains.idea.maven.dom.references.MavenUrlPsiReference;
import java.util.Collection;
import java.util.Collections;
@@ -77,9 +75,7 @@ public abstract class MavenRepositoryConverter extends ResolvingConverter<String
@NotNull
@Override
public PsiReference[] createReferences(GenericDomValue value, final PsiElement element, final ConvertContext context) {
String text = value.getStringValue();
TextRange range = ElementManipulators.getValueTextRange(element);
return new PsiReference[]{new MavenUrlPsiReference(element, text, range) {
return new PsiReference[]{new UrlPsiReference(element) {
@NotNull
@Override