[jbosstools-commits] JBoss Tools SVN: r30822 - trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Mon Apr 25 15:30:53 EDT 2011
Author: dazarov
Date: 2011-04-25 15:30:53 -0400 (Mon, 25 Apr 2011)
New Revision: 30822
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkDetector.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/TLDTagHyperlink.java
Log:
https://issues.jboss.org/browse/JBIDE-8781
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkDetector.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkDetector.java 2011-04-25 19:25:38 UTC (rev 30821)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkDetector.java 2011-04-25 19:30:53 UTC (rev 30822)
@@ -22,6 +22,7 @@
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
import org.jboss.tools.common.core.resources.XModelObjectEditorInput;
import org.jboss.tools.common.el.core.resolver.ELContext;
+import org.jboss.tools.common.model.XModelObject;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.jst.jsp.jspeditor.JSPTextEditor;
@@ -78,7 +79,7 @@
IComponent[] components = PageProcessor.getInstance().getComponents(query, (IPageContext)context);
ArrayList<IHyperlink> hyperlinks = new ArrayList<IHyperlink>();
for(IComponent component : components){
- if(component instanceof TLDTag || component instanceof FaceletTag){
+ if(validateComponent(component)){
TLDTagHyperlink link = new TLDTagHyperlink((AbstractComponent)component, reg);
link.setDocument(textViewer.getDocument());
hyperlinks.add(link);
@@ -93,6 +94,21 @@
return parse(textViewer.getDocument(), xmlDocument, region);
}
+ private boolean validateComponent(IComponent component){
+ if(component instanceof TLDTag || component instanceof FaceletTag){
+ IFile file = TLDTagHyperlink.getFile((AbstractComponent)component);
+
+ if(file != null && file.getFullPath() != null && file.getFullPath().toString().endsWith(".jar")) {
+ XModelObject xmodelObject = TLDTagHyperlink.getXModelObject((AbstractComponent)component);
+ if(xmodelObject != null)
+ if(TLDTagHyperlink.getFileName(xmodelObject) != null)
+ return true;
+ }else if(file != null)
+ return true;
+ }
+ return false;
+ }
+
private void sortHyperlinks(ArrayList<IHyperlink> hyperlinks){
for(IHyperlink link : hyperlinks){
if(link instanceof TLDTagHyperlink){
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/TLDTagHyperlink.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/TLDTagHyperlink.java 2011-04-25 19:25:38 UTC (rev 30821)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/TLDTagHyperlink.java 2011-04-25 19:30:53 UTC (rev 30822)
@@ -32,27 +32,42 @@
public TLDTagHyperlink(AbstractComponent tag, IRegion region){
this.tag = tag;
+ this.region = region;
+
+ IFile file = getFile(tag);
+
+ if(file != null && file.getFullPath() != null && file.getFullPath().toString().endsWith(".jar")) {
+ xmodelObject = getXModelObject(tag);
+ if(xmodelObject != null)
+ xmodelObjectName = getFileName(xmodelObject);
+ }
+ }
+
+ public static IFile getFile(AbstractComponent tag){
ITagLibrary tagLib = tag.getTagLib();
- this.region = region;
IResource r = tagLib.getResource();
- if(r instanceof IFile) {
- IFile file = (IFile)r;
- if(file.getFullPath() != null && file.getFullPath().toString().endsWith(".jar")) {
- Object id = tag.getId();
- if(id instanceof XModelObject) {
- xmodelObject = (XModelObject)id;
- FileAnyImpl fai = null;
- XModelObject f = xmodelObject;
- while(f != null && f.getFileType() != XModelObject.FILE) f = f.getParent();
- if(f instanceof FileAnyImpl) fai = (FileAnyImpl)f;
- xmodelObjectName = FileAnyImpl.toFileName(fai);
- }
- }
- }
+ if(r instanceof IFile)
+ return (IFile)r;
+ return null;
+ }
+
+ public static XModelObject getXModelObject(AbstractComponent tag){
+ Object id = tag.getId();
+ if(id instanceof XModelObject)
+ return (XModelObject)id;
+ return null;
}
+ public static String getFileName(XModelObject xmodelObject){
+ FileAnyImpl fai = null;
+ XModelObject f = xmodelObject;
+ while(f != null && f.getFileType() != XModelObject.FILE) f = f.getParent();
+ if(f instanceof FileAnyImpl) fai = (FileAnyImpl)f;
+ return FileAnyImpl.toFileName(fai);
+ }
+
public AbstractComponent getComponent(){
return tag;
}
@@ -63,7 +78,7 @@
@Override
protected void doHyperlink(IRegion region) {
- if(xmodelObject != null){
+ if(xmodelObjectName != null){
int q = FindObjectHelper.findModelObject(xmodelObject, FindObjectHelper.IN_EDITOR_ONLY);
if(q == 1) {
openFileFailed();
More information about the jbosstools-commits
mailing list