JBoss Tools SVN: r17756 - trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 12:04:52 -0400 (Fri, 25 Sep 2009)
New Revision: 17756
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java 2009-09-25 15:59:22 UTC (rev 17755)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java 2009-09-25 16:04:52 UTC (rev 17756)
@@ -18,6 +18,7 @@
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Path;
import org.jboss.tools.common.model.XModelObject;
@@ -25,8 +26,6 @@
import org.jboss.tools.common.model.ui.ModelUIPlugin;
import org.jboss.tools.common.model.ui.editors.dnd.composite.TagAttributesComposite;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
-import org.jboss.tools.jst.web.tld.IWebProject;
-import org.jboss.tools.jst.web.tld.WebProjectFactory;
/**
*
@@ -94,8 +93,10 @@
container = (IContainer)EclipseResourceUtil.getResource(o);
}
if(container == null) {
- IWebProject p = WebProjectFactory.instance.getWebProject(modelNature.getModel());
- container = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(new Path(p.getWebRootLocation()));
+ IResource r = EclipseResourceUtil.getFirstWebContentResource(project);
+ if(r instanceof IContainer) {
+ container = (IContainer)r;
+ }
}
return container;
}
15 years, 1 month
JBoss Tools SVN: r17755 - in trunk/jst/plugins/org.jboss.tools.jst.text.ext: src/org/jboss/tools/jst/text/ext/hyperlink/jsp and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:59:22 -0400 (Fri, 25 Sep 2009)
New Revision: 17755
Modified:
trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml 2009-09-25 15:57:36 UTC (rev 17754)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml 2009-09-25 15:59:22 UTC (rev 17755)
@@ -2,4 +2,391 @@
<?eclipse version="3.0"?>
<plugin>
+ <extension
+ point="org.jboss.tools.common.text.ext.hyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlinkPartitioner"
+ name="org.jboss.tools.common.text.ext.hyperlinkPartitioner">
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.eclipse.jst.jsp.JSP_DIRECTIVE" />
+ <partitionType id="org.eclipse.wst.html.HTML_DEFAULT" />
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.eclipse.wst.html.HTML_DEFAULT" />
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ id="org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlinkPartitioner"
+ class="org.jboss.tools.jst.text.ext.hyperlink.CSSClassHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ </partitionType>
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <!--Maksim Areshkau, partitioner for *.taglib.xml files -->
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.TaglibDefinitionFilesHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.TaglibDefinitionFilesHyperlinkPartitioner">
+ <contentType id="org.jboss.tools.common.model.ui.xml">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_TEXT">
+ <axis path="/facelet-taglib/tag/source">
+ </axis>
+ <axis path="/facelet-taglib/function/function-class">
+ </axis>
+ <axis path="/facelet-taglib/tag/component/handler-class">
+ </axis>
+ <axis path="/facelet-taglib/library-class">
+ </axis>
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+ <!--End of partiotioner for *.taglib.xml files -->
+
+ <!-- Common HTML and/or JSP hyperlink partitioners -->
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTaglibHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTaglibHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT"/>
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/jsp:directive.taglib/uri" />
+ <axis path="*/jsp:directive.taglib/prefix" />
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/jsp:attribute/name/"/>
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTextHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTextHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT">
+ <axis path="*/title/" ignoreCase="true"/>
+ <axis path="*/h1/" ignoreCase="true"/>
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPElementHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT" />
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT" />
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPElementNameHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementNameHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT"/>
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT"/>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT" />
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT" />
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPXmlNsHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPXmlNsHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE"/>
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE"/>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/jsp:getProperty/property/" />
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlinkPartitioner"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/jsp:setProperty/property/" />
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPForBeanIdHyperlinkPartitioner"
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPForBeanIdHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/jsp:setProperty/name/" />
+ <axis path="*/jsp:getProperty/name/" />
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPClassHyperlinkPartitioner"
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPClassHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/jsp:directive.page/import/" />
+ <axis path="*/jsp:useBean/class/" />
+ <axis path="*/jsp:useBean/type/" />
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPStylesheetRelLinkHyperlinkPartitioner"
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPStylesheetRelLinkHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/link/*" ignoreCase="true"/>
+ </partitionType>
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT">
+ <axis path="*/link/*" ignoreCase="true"/>
+ </partitionType>
+ <partitionType id="com.ibm.sse.STYLE">
+ <!--axis path="*/style/" /-->
+ </partitionType>
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/link/*" ignoreCase="true"/>
+ </partitionType>
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT">
+ <axis path="*/link/*" ignoreCase="true"/>
+ </partitionType>
+ <partitionType id="com.ibm.sse.STYLE">
+ <!--axis path="*/style/" /-->
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+
+ <hyperlinkPartitioner
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner"
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner">
+ <contentType id="org.eclipse.jst.jsp.core.jspsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/a/href/" ignoreCase="true"/>
+ <axis path="*/jsp:directive.include/file/" />
+ <axis path="*/jsp:directive.page/errorPage/" />
+ <axis path="*/jsp:include/page/" />
+ <axis path="*/jsp:forward/page/" />
+ <axis path="*/jsp:plugin/iepluginurl/" />
+ <axis path="*/jsp:plugin/nspluginurl/" />
+ </partitionType>
+ </contentType>
+ <contentType id="org.eclipse.wst.html.core.htmlsource">
+ <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
+ <axis path="*/a/href/" ignoreCase="true"/>
+ </partitionType>
+ </contentType>
+ </hyperlinkPartitioner>
+ <!-- End of Common HTML and/or JSP hyperlink partitioners -->
+
+ </extension>
+
+ <extension
+ point="org.jboss.tools.common.text.ext.hyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink"
+ name="org.jboss.tools.common.text.ext.hyperlink">
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.CSSClassHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.CSS_CLASS" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.wst.html.core.htmlsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.CSS_CLASS" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.FilterNameHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.FilterNameHyperlink">
+ <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.core.runtime.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.jst.j2ee.webDD">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.jst.jee.ee5webDD">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.JSPStylesheetRelLinkHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.JSPStylesheetRelLinkHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_STYLESHEET_REL_LINK" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.wst.html.core.htmlsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_STYLESHEET_REL_LINK" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.RoleNameHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.RoleNameHyperlink">
+ <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.core.runtime.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.jst.j2ee.webDD">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.jst.jee.ee5webDD">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <!-- Web.inf File -->
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.ServletNameHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.ServletNameHyperlink">
+ <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.core.runtime.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.jst.j2ee.webDD">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.jst.jee.ee5webDD">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
+ </contenttypeidentifier>
+ </hyperlink>
+ <!-- Web.inf File -->
+
+ <!-- TLD Files -->
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.TLDAttributeNameHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.TLDAttributeNameHyperlink">
+ <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.tldsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.core.runtime.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
+ <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
+ </contenttypeidentifier>
+ </hyperlink>
+ <!-- TLD Files -->
+
+<!-- JSP -->
+<!-- add an open on action for jsp bean partitions -->
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPElementNameHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementNameHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT_NAME" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTaglibHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTaglibHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_TAGLIB" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPXmlNsHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPXmlNsHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_XMLNS" />
+ </contenttypeidentifier>
+ <contenttypeidentifier id="org.eclipse.wst.html.core.htmlsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_XMLNS" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPForBeanIdHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPForBeanIdHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_FOR_BEAN_ID" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_BEAN_GET_PROPERTY" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+ <hyperlink
+ class="org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlink"
+ id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlink">
+ <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
+ <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_BEAN_SET_PROPERTY" />
+ </contenttypeidentifier>
+ </hyperlink>
+
+<!-- JSP -->
+
+ </extension>
+
</plugin>
Modified: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java 2009-09-25 15:57:36 UTC (rev 17754)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java 2009-09-25 15:59:22 UTC (rev 17755)
@@ -23,7 +23,7 @@
import org.jboss.tools.common.text.ext.util.Utils;
/**
- * * @deprecated see org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlinkPartitioner
+ * * @deprecated see org.jboss.tools.jst.text.ext.hyperlink.CSSClassHyperlinkPartitioner
* @author Jeremy
*/
public class JSPCSSClassHyperlinkPartitioner extends AbstractHyperlinkPartitioner /*implements IHyperlinkPartitionRecognizer */{
15 years, 1 month
JBoss Tools SVN: r17754 - in trunk/common/plugins/org.jboss.tools.common.text.ext: META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:57:36 -0400 (Fri, 25 Sep 2009)
New Revision: 17754
Removed:
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlink.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/FilterNameHyperlink.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/RoleNameHyperlink.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/ServletNameHyperlink.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TLDAttributeNameHyperlink.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java
trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/jsp/
Modified:
trunk/common/plugins/org.jboss.tools.common.text.ext/META-INF/MANIFEST.MF
trunk/common/plugins/org.jboss.tools.common.text.ext/plugin.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/common/plugins/org.jboss.tools.common.text.ext/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:57:36 UTC (rev 17754)
@@ -3,7 +3,6 @@
Bundle-Activator: org.jboss.tools.common.text.ext.ExtensionsPlugin
Export-Package: org.jboss.tools.common.text.ext,
org.jboss.tools.common.text.ext.hyperlink,
- org.jboss.tools.common.text.ext.hyperlink.jsp,
org.jboss.tools.common.text.ext.hyperlink.xml,
org.jboss.tools.common.text.ext.hyperlink.xpl,
org.jboss.tools.common.text.ext.util,
Modified: trunk/common/plugins/org.jboss.tools.common.text.ext/plugin.xml
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/plugin.xml 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/plugin.xml 2009-09-25 15:57:36 UTC (rev 17754)
@@ -10,19 +10,6 @@
id="org.jboss.tools.common.text.ext.hyperlinkPartitioner"
name="org.jboss.tools.common.text.ext.hyperlinkPartitioner">
- <hyperlinkPartitioner
- id="org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlinkPartitioner"
- class="org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- </partitionType>
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
<!-- Root XML, HTML and JSP hyperlink partitioners -->
<hyperlinkPartitioner
class="org.jboss.tools.common.text.ext.hyperlink.xml.XMLRootHyperlinkPartitioner"
@@ -50,17 +37,6 @@
</contentType>
</hyperlinkPartitioner>
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.eclipse.jst.jsp.JSP_DIRECTIVE" />
- <partitionType id="org.eclipse.wst.html.HTML_DEFAULT" />
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.eclipse.wst.html.HTML_DEFAULT" />
- </contentType>
- </hyperlinkPartitioner>
<!-- End of Root XML, HTML and JSP hyperlink partitioners -->
<!-- Common XML hyperlink partitioners -->
@@ -252,176 +228,6 @@
<!-- End of Common XML hyperlink partitioners -->
- <!-- Common HTML and/or JSP hyperlink partitioners -->
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTaglibHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTaglibHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT"/>
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/jsp:directive.taglib/uri" />
- <axis path="*/jsp:directive.taglib/prefix" />
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/jsp:attribute/name/"/>
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTextHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTextHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT">
- <axis path="*/title/" ignoreCase="true"/>
- <axis path="*/h1/" ignoreCase="true"/>
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT" />
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.jboss.tools.common.text.ext.jsp.JSP_ROOT" />
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementNameHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementNameHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT"/>
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT"/>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT" />
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT" />
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPXmlNsHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPXmlNsHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE"/>
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE"/>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/jsp:getProperty/property/" />
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/jsp:setProperty/property/" />
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPForBeanIdHyperlinkPartitioner"
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPForBeanIdHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/jsp:setProperty/name/" />
- <axis path="*/jsp:getProperty/name/" />
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPClassHyperlinkPartitioner"
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPClassHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/jsp:directive.page/import/" />
- <axis path="*/jsp:useBean/class/" />
- <axis path="*/jsp:useBean/type/" />
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPStylesheetRelLinkHyperlinkPartitioner"
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPStylesheetRelLinkHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/link/*" ignoreCase="true"/>
- </partitionType>
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT">
- <axis path="*/link/*" ignoreCase="true"/>
- </partitionType>
- <partitionType id="com.ibm.sse.STYLE">
- <!--axis path="*/style/" /-->
- </partitionType>
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/link/*" ignoreCase="true"/>
- </partitionType>
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT">
- <axis path="*/link/*" ignoreCase="true"/>
- </partitionType>
- <partitionType id="com.ibm.sse.STYLE">
- <!--axis path="*/style/" /-->
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
-
- <hyperlinkPartitioner
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner"
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner">
- <contentType id="org.eclipse.jst.jsp.core.jspsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/a/href/" ignoreCase="true"/>
- <axis path="*/jsp:directive.include/file/" />
- <axis path="*/jsp:directive.page/errorPage/" />
- <axis path="*/jsp:include/page/" />
- <axis path="*/jsp:forward/page/" />
- <axis path="*/jsp:plugin/iepluginurl/" />
- <axis path="*/jsp:plugin/nspluginurl/" />
- </partitionType>
- </contentType>
- <contentType id="org.eclipse.wst.html.core.htmlsource">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_ATTRIBUTE_VALUE">
- <axis path="*/a/href/" ignoreCase="true"/>
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
- <!-- End of Common HTML and/or JSP hyperlink partitioners -->
-
<!-- Web.xml and/or TLD files hyperlink partitioners -->
<hyperlinkPartitioner
id="org.jboss.tools.common.text.ext.hyperlink.xml.XMLClassHyperlinkPartitioner"
@@ -671,25 +477,6 @@
</contentType>
</hyperlinkPartitioner>
<!-- End of TLD files hyperlink partitioners -->
- <!--Maksim Areshkau, partitioner for *.taglib.xml files -->
- <hyperlinkPartitioner
- class="org.jboss.tools.common.text.ext.hyperlink.TaglibDefinitionFilesHyperlinkPartitioner"
- id="org.jboss.tools.common.text.ext.hyperlink.TaglibDefinitionFilesHyperlinkPartitioner">
- <contentType id="org.jboss.tools.common.model.ui.xml">
- <partitionType id="org.jboss.tools.common.text.ext.xml.XML_TEXT">
- <axis path="/facelet-taglib/tag/source">
- </axis>
- <axis path="/facelet-taglib/function/function-class">
- </axis>
- <axis path="/facelet-taglib/tag/component/handler-class">
- </axis>
- <axis path="/facelet-taglib/library-class">
- </axis>
- </partitionType>
- </contentType>
- </hyperlinkPartitioner>
- <!--End of partiotioner for *.taglib.xml files -->
-
<hyperlinkPartitioner
id="org.jboss.tools.common.text.ext.hyperlink.xml.PortletHyperlinkPartitioner"
class="org.jboss.tools.common.text.ext.hyperlink.xml.PortletHyperlinkPartitioner">
@@ -748,62 +535,7 @@
</hyperlink>
-<!-- JSP -->
-<!-- add an open on action for jsp bean partitions -->
<hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementNameHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementNameHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ELEMENT_NAME" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTaglibHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTaglibHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_TAGLIB" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPXmlNsHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPXmlNsHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_XMLNS" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.wst.html.core.htmlsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_XMLNS" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPForBeanIdHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPForBeanIdHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_FOR_BEAN_ID" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanGetPropertyHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_BEAN_GET_PROPERTY" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.jsp.JSPBeanSetPropertyHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_BEAN_SET_PROPERTY" />
- </contenttypeidentifier>
- </hyperlink>
-
-<!-- JSP -->
-
- <hyperlink
class="org.jboss.tools.common.text.ext.hyperlink.ClassHyperlink"
id="org.jboss.tools.common.text.ext.hyperlink.ClassHyperlink">
<contenttypeidentifier id="org.eclipse.jst.jsf.facesconfig.facesConfigFile">
@@ -833,17 +565,6 @@
</hyperlink>
<hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.CSS_CLASS" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.wst.html.core.htmlsource">
- <partitiontype id="org.jboss.tools.common.text.ext.CSS_CLASS" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
class="org.jboss.tools.common.text.ext.hyperlink.xml.XMLXmlNsHyperlink"
id="org.jboss.tools.common.text.ext.hyperlink.xml.XMLXmlNsHyperlink">
<contenttypeidentifier id="org.eclipse.jst.jsf.facesconfig.facesConfigFile">
@@ -869,100 +590,7 @@
</contenttypeidentifier>
</hyperlink>
- <!-- Web.inf File -->
-
<hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.FilterNameHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.FilterNameHyperlink">
- <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.core.runtime.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.jst.j2ee.webDD">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.jst.jee.ee5webDD">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_FILTER_NAME" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.RoleNameHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.RoleNameHyperlink">
- <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.core.runtime.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.jst.j2ee.webDD">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.jst.jee.ee5webDD">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_ROLE_NAME" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.ServletNameHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.ServletNameHyperlink">
- <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.core.runtime.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.jst.j2ee.webDD">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.jst.jee.ee5webDD">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.xml.XML_SERVLET_NAME" />
- </contenttypeidentifier>
- </hyperlink>
- <!-- Web.inf File -->
-
- <!-- TLD Files -->
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.TLDAttributeNameHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.TLDAttributeNameHyperlink">
- <contenttypeidentifier id="org.eclipse.wst.xml.core.xmlsource">
- <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.tldsource">
- <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.core.runtime.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.jboss.tools.common.model.ui.xml">
- <partitiontype id="org.jboss.tools.common.text.ext.tld.TLD_ATTRIBUTE_NAME" />
- </contenttypeidentifier>
- </hyperlink>
- <!-- TLD Files -->
-
- <hyperlink
- class="org.jboss.tools.common.text.ext.hyperlink.JSPStylesheetRelLinkHyperlink"
- id="org.jboss.tools.common.text.ext.hyperlink.JSPStylesheetRelLinkHyperlink">
- <contenttypeidentifier id="org.eclipse.jst.jsp.core.jspsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_STYLESHEET_REL_LINK" />
- </contenttypeidentifier>
- <contenttypeidentifier id="org.eclipse.wst.html.core.htmlsource">
- <partitiontype id="org.jboss.tools.common.text.ext.jsp.JSP_STYLESHEET_REL_LINK" />
- </contenttypeidentifier>
- </hyperlink>
-
- <hyperlink
class="org.jboss.tools.common.text.ext.hyperlink.xml.PortletHyperlink"
id="org.jboss.tools.common.text.ext.hyperlink.xml.PortletHyperlink">
<contenttypeidentifier id="org.eclipse.core.runtime.xml">
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlink.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlink.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.css.core.internal.provisional.adapters.IModelProvideAdapter;
-import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSDocument;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleSheet;
-import org.eclipse.wst.html.core.internal.htmlcss.LinkElementAdapter;
-import org.eclipse.wst.html.core.internal.htmlcss.URLModelProvider;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.jboss.tools.common.text.ext.ExtensionsPlugin;
-import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
-import org.jboss.tools.common.text.ext.util.RegionHolder;
-import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
-import org.jboss.tools.common.text.ext.util.StructuredSelectionHelper;
-import org.jboss.tools.common.text.ext.util.Utils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.css.CSSRule;
-import org.w3c.dom.css.CSSRuleList;
-import org.w3c.dom.css.CSSStyleSheet;
-
-/**
- * @author Jeremy
- */
-public class CSSClassHyperlink extends AbstractHyperlink {
-
- public static final String[] STYLE_TAGS = new String[] { "style", "link" }; //$NON-NLS-1$//$NON-NLS-2$
- public static final String LINK_TAG = "link"; //$NON-NLS-1$
- public static final String HREF_ATTRIBUTE = "href"; //$NON-NLS-1$
- public static final String COMPARE_CLASS_REGEX_PREFIX = "[\\.]?"; //$NON-NLS-1$
- public static final String CONTEXT_PATH_EXPRESSION = "^\\s*(\\#|\\$)\\{facesContext.externalContext.requestContextPath\\}"; //$NON-NLS-1$
-
- /**
- *
- */
- protected void doHyperlink(IRegion region) {
-
- IDOMModel model = (IDOMModel) getModelManager()
- .getExistingModelForRead(getDocument());
-
- // get name of looked for style
- String styleName = getStyleName(region);
-
- // get elements which copntans information about styles (style and link
- // tags)
- List<Node> styleElementList = getStyleContainerList(model);
-
- // sort nodes by position in inverse order - from larger position to
- // smaller
- Collections.sort(styleElementList, new Comparator<Node>() {
-
- public int compare(Node o1, Node o2) {
- return ((IDOMNode) o2).getStartOffset()
- - ((IDOMNode) o1).getStartOffset();
- }
-
- });
-
- RegionHolder styleRegion = null;
- // look for style in each Style element
- for (Node styleContainer : styleElementList) {
-
- styleRegion = findStyleRegion(styleContainer, styleName);
-
- if (styleRegion != null) {
- showRegion(styleRegion);
- break;
- }
-
- }
-
- model.releaseFromRead();
- }
-
- /**
- *
- * @param model
- * @return
- */
- private List<Node> getStyleContainerList(IDOMModel model) {
-
- // get model of current page
- IDOMDocument document = model.getDocument();
-
- List<Node> getStyleContainerList = new ArrayList<Node>();
-
- // get all tags which contains style ( link, style)
- for (String tagName : STYLE_TAGS) {
- getStyleContainerList.addAll(getList(document
- .getElementsByTagName(tagName)));
- }
-
- return getStyleContainerList;
- }
-
- /**
- * move nodes from NodeList to List
- *
- * @param nodeList
- * @return
- */
- List<Node> getList(NodeList nodeList) {
-
- List<Node> newContainerList = new ArrayList<Node>();
- for (int i = 0; i < nodeList.getLength(); i++) {
- newContainerList.add(nodeList.item(i));
- }
- return newContainerList;
- }
-
- /**
- *
- * @param stylesContainer
- * @param styleName
- * @return
- */
- public RegionHolder findStyleRegion(Node stylesContainer, String styleName) {
-
- // get style sheet
- CSSStyleSheet sheet = getSheet(stylesContainer);
-
- if (sheet != null) {
-
- CSSRuleList ruleList = sheet.getCssRules();
-
- // for each cssRule
- for (int i = 0; i < ruleList.getLength(); i++) {
-
- CSSRule cssRule = ruleList.item(i);
-
- // if cssRule describe looked for style
- if (isRuleMatch(cssRule, styleName)) {
-
- return new RegionHolder(getFile((ICSSNode) cssRule),
- getRegion(cssRule));
-
- }
- }
-
- }
- return null;
- }
-
- /**
- *
- * @param stylesContainer
- * @return
- */
- private CSSStyleSheet getSheet(final Node stylesContainer) {
-
- INodeNotifier notifier = (INodeNotifier) stylesContainer;
-
- IStyleSheetAdapter adapter = (IStyleSheetAdapter) notifier
- .getAdapterFor(IStyleSheetAdapter.class);
-
- if (LINK_TAG.equalsIgnoreCase(stylesContainer.getNodeName())
- && !(adapter instanceof ExtendedLinkElementAdapter)) {
-
- notifier.removeAdapter(adapter);
- adapter = new ExtendedLinkElementAdapter(
- (Element) stylesContainer);
- notifier.addAdapter(adapter);
-
- }
-
- CSSStyleSheet sheet = null;
-
- if (adapter != null) {
- sheet = (CSSStyleSheet) adapter.getSheet();
-
- }
-
- return sheet;
-
- }
-
- protected String processURL(String href) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- *
- * @param cssRule
- * @param styleName
- * @return
- */
- private boolean isRuleMatch(CSSRule cssRule, String styleName) {
-
- // get selector text
- String selectorText = ((ICSSStyleRule) cssRule).getSelectorText();
-
- if (selectorText != null) {
-
- // split selector text by whitespace
- String[] styles = selectorText.trim().split(" "); //$NON-NLS-1$
- int searchIndex = Arrays.binarySearch(styles, styleName,
- new Comparator<String>() {
-
- public int compare(String o1, String o2) {
- Matcher matcher = Pattern.compile(
- COMPARE_CLASS_REGEX_PREFIX + o2)
- .matcher(o1);
- return matcher.matches() ? 0 : 1;
- }
-
- });
- if (searchIndex >= 0)
- return true;
- }
- return false;
- }
-
- /**
- *
- * @param node
- * @return
- */
- private IFile getFile(ICSSNode node) {
-
- ICSSDocument sheet = node.getOwnerDocument();
-
- return AbstractHyperlink.getFile(sheet.getModel());
- }
-
- /**
- *
- * @param cssRule
- * @return
- */
- protected Region getRegion(CSSRule cssRule) {
-
- int offset = ((IndexedRegion) cssRule).getStartOffset();
-
- // if css rule is contained in style tag so it is require to take into
- // account offset of this tag
- ICSSStyleSheet document = (ICSSStyleSheet) ((ICSSStyleRule) cssRule)
- .getOwnerDocument();
-
- ICSSModel model = document.getModel();
-
- // get style tag
- Node node = model.getOwnerDOMNode();
-
- // increase offset
- if (node instanceof IDOMElement)
- offset += ((IDOMElement) node).getStartEndOffset();
-
- return new Region(offset, 0);
-
- }
-
- /**
- *
- * @param styleRegion
- */
- private void showRegion(RegionHolder styleRegion) {
-
- IWorkbenchPage workbenchPage = ExtensionsPlugin.getDefault()
- .getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IEditorPart part = null;
- if (styleRegion.file != null) {
- try {
- part = IDE.openEditor(workbenchPage, styleRegion.file, true);
- } catch (PartInitException e) {
- e.printStackTrace();
- }
- if (part == null) {
- openFileFailed();
- return;
- }
- }
- StructuredSelectionHelper.setSelectionAndReveal(part,
- styleRegion.region);
- }
-
- /**
- *
- * @param region
- * @return
- */
- private String getStyleName(IRegion region) {
- try {
- return getDocument().get(region.getOffset(), region.getLength());
- } catch (BadLocationException e) {
- return null;
- }
- }
-
- IRegion fLastRegion = null;
-
- /**
- * @see com.ibm.sse.editor.AbstractHyperlink#doGetHyperlinkRegion(int)
- */
- protected IRegion doGetHyperlinkRegion(int offset) {
- fLastRegion = getRegion(offset);
- return fLastRegion;
- }
-
- /**
- * TODO research method
- *
- * @param offset
- * @return
- */
- protected IRegion getRegion(int offset) {
- StructuredModelWrapper smw = new StructuredModelWrapper();
- try {
- smw.init(getDocument());
- Document xmlDocument = smw.getDocument();
- if (xmlDocument == null)
- return null;
-
- Node n = Utils.findNodeForOffset(xmlDocument, offset);
-
- if (n == null || !(n instanceof Attr))
- return null;
- int start = Utils.getValueStart(n);
- int end = Utils.getValueEnd(n);
- if (start > offset)
- return null;
-
- String attrText = getDocument().get(start, end - start);
-
- StringBuffer sb = new StringBuffer(attrText);
- // find start of bean property
- int bStart = offset - start;
- while (bStart >= 0) {
- if (!Character.isJavaIdentifierPart(sb.charAt(bStart))
- && sb.charAt(bStart) != '_' && sb.charAt(bStart) != '-'
- && sb.charAt(bStart) != '.') {
- bStart++;
- break;
- }
-
- if (bStart == 0)
- break;
- bStart--;
- }
- // find end of bean property
- int bEnd = offset - start;
- while (bEnd < sb.length()) {
- if (!Character.isJavaIdentifierPart(sb.charAt(bEnd))
- && sb.charAt(bEnd) != '_' && sb.charAt(bEnd) != '-'
- && sb.charAt(bEnd) != '.')
- break;
- bEnd++;
- }
-
- final int propStart = bStart + start;
- final int propLength = bEnd - bStart;
-
- if (propStart > offset || propStart + propLength < offset)
- return null;
- return new Region(propStart, propLength);
- } catch (BadLocationException x) {
- // ignore
- return null;
- } finally {
- smw.dispose();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see IHyperlink#getHyperlinkText()
- */
- public String getHyperlinkText() {
- String styleName = getStyleName(fLastRegion);
- if (styleName == null)
- return MessageFormat.format(Messages.OpenA, Messages.CSSStyle);
-
- return MessageFormat.format(Messages.OpenCSSStyle, styleName);
- }
-
- @Override
- protected String findAndReplaceElVariable(String fileName) {
- if (fileName != null)
- fileName = fileName
- .replaceFirst(
- "^\\s*(\\#|\\$)\\{facesContext.externalContext.requestContextPath\\}",
- "");
- return super.findAndReplaceElVariable(fileName);
- }
-
- public class ExtendedLinkElementAdapter extends LinkElementAdapter {
-
- private Element element;
-
- public ExtendedLinkElementAdapter(Element element) {
- this.element = element;
- }
-
- @Override
- public Element getElement() {
- return element;
- }
-
- @Override
- protected boolean isValidAttribute() {
- String href = getElement().getAttribute(HREF_ATTRIBUTE);
- if (href == null || href.length() == 0)
- return false;
- return true;
- }
-
- /**
- */
- public ICSSModel getModel() {
- ICSSModel model = super.getModel();
- if (model == null) {
- model = retrieveModel();
- setModel(model);
- }
- return model;
- }
-
- /**
- */
- private ICSSModel retrieveModel() {
- if (!isValidAttribute()) {
- return null;
- }
-
- // null,attr check is done in isValidAttribute()
- Element element = getElement();
- String href = findAndReplaceElVariable(element
- .getAttribute(HREF_ATTRIBUTE));
-
- IDOMModel baseModel = ((IDOMNode) element).getModel();
- if (baseModel == null)
- return null;
- Object id = baseModel.getId();
- if (!(id instanceof String))
- return null;
- // String base = (String)id;
-
- // get ModelProvideAdapter
- IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement())
- .getAdapterFor(IModelProvideAdapter.class);
-
- URLModelProvider provider = new URLModelProvider();
- try {
- IStructuredModel newModel = provider.getModelForRead(baseModel,
- href);
- if (newModel == null)
- return null;
- if (!(newModel instanceof ICSSModel)) {
- newModel.releaseFromRead();
- return null;
- }
-
- // notify adapter
- if (adapter != null)
- adapter.modelProvided(newModel);
-
- return (ICSSModel) newModel;
- } catch (UnsupportedEncodingException e) {
- } catch (IOException e) {
- }
-
- return null;
- }
- }
-
-}
\ No newline at end of file
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import org.eclipse.jface.text.IDocument;
-import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
-import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
-import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
-import org.jboss.tools.common.text.ext.util.Utils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- *
- * @author Sergey Dzmitrovich
- *
- */
-public class CSSClassHyperlinkPartitioner extends
- AbstractHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
-
- public static final String CSS_CLASS_PARTITION = "org.jboss.tools.common.text.ext.CSS_CLASS"; //$NON-NLS-1$
-
- private static final String CSS_CLASS_TOKEN = "class/"; //$NON-NLS-1$
-
- /**
- * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument,
- * com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
- */
- protected IHyperlinkRegion parse(IDocument document,
- IHyperlinkRegion superRegion) {
- StructuredModelWrapper smw = new StructuredModelWrapper();
- try {
- smw.init(document);
- Document xmlDocument = smw.getDocument();
- if (xmlDocument == null)
- return null;
-
- Node n = Utils.findNodeForOffset(xmlDocument, superRegion
- .getOffset());
- if (n == null || !(n instanceof Attr))
- return null;
-
- String axis = getAxis(document, superRegion);
- String contentType = superRegion.getContentType();
- String type = getPartitionType(axis);
- int start = Utils.getValueStart(n);
- int end = Utils.getValueEnd(n);
- if (start < 0 || end < start)
- return null;
- int length = end - start;
- int offset = superRegion.getOffset();
-
- IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis,
- contentType, type);
- return region;
- } finally {
- smw.dispose();
- }
- }
-
- private String getPartitionType(String axis) {
- return CSS_CLASS_PARTITION;
- }
-
- public boolean recognize(IDocument document, IHyperlinkRegion region) {
-
- if (region.getAxis() != null
- && region.getAxis().toLowerCase().endsWith(CSS_CLASS_TOKEN))
- return true;
- return false;
- }
-
-}
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/FilterNameHyperlink.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/FilterNameHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/FilterNameHyperlink.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
-/**
- * @author Jeremy
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class FilterNameHyperlink extends JumpToHyperlink {
- protected String getDestinationAxis() {
- return "/web-app/filter/filter-name/"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see IHyperlink#getHyperlinkText()
- */
- public String getHyperlinkText() {
- return Messages.BrowseToFilterNameDefinition;
- }
-
-}
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
-import org.jboss.tools.common.text.ext.util.Utils;
-
-/**
- * @author Jeremy
- *
- */
-public class JSPStylesheetRelLinkHyperlink extends RelativeLinkHyperlink {
-
- private static final String HREF_ATTRNAME = "href"; //$NON-NLS-1$
-
- protected IRegion getRegion (int offset) {
- StructuredModelWrapper smw = new StructuredModelWrapper();
- smw.init(getDocument());
- try {
- Document xmlDocument = smw.getDocument();
- if (xmlDocument == null) return null;
-
- Node n = Utils.findNodeForOffset(xmlDocument, offset);
-
- if (n == null || !(n instanceof Text || n instanceof Attr)) return null;
-
- String text = null;
- int bStart = 0;
- int bEnd = 0;
-
- if (n instanceof Text) {
- int start = Utils.getValueStart(n);
- int end = Utils.getValueEnd(n);
- if (start < 0 || start > offset) return null;
-
- text = getDocument().get(start, end - start);
- bStart = offset - start;
- bEnd = offset - start;
- } else if (n instanceof Attr) {
- Attr attr = (Attr)n;
- if (!HREF_ATTRNAME.equalsIgnoreCase(attr.getName())) return null;
- int start = Utils.getValueStart(n);
- int end = Utils.getValueEnd(n);
- if(start < 0) return null;
-
- text = getDocument().get(start, end - start);
- bStart = offset - start;
- bEnd = offset - start;
- }
- StringBuffer sb = new StringBuffer(text);
- //find start of bean property
- while (bStart >= 0) {
- if (!Character.isJavaIdentifierPart(sb.charAt(bStart)) &&
- sb.charAt(bStart) != '\\' && sb.charAt(bStart) != '/' &&
- sb.charAt(bStart) != ':' && sb.charAt(bStart) != '-' &&
- sb.charAt(bStart) != '.' && sb.charAt(bStart) != '_' &&
- sb.charAt(bStart) != '%' && sb.charAt(bStart) != '?' &&
- sb.charAt(bStart) != '&' && sb.charAt(bStart) != '=') {
- bStart++;
- break;
- }
-
- if (bStart == 0) break;
- bStart--;
- }
- // find end of bean property
- while (bEnd >= 0 && bEnd < sb.length()) {
- if (!Character.isJavaIdentifierPart(sb.charAt(bEnd)) &&
- sb.charAt(bEnd) != '\\' && sb.charAt(bEnd) != '/' &&
- sb.charAt(bEnd) != ':' && sb.charAt(bEnd) != '-' &&
- sb.charAt(bEnd) != '.' && sb.charAt(bEnd) != '_' &&
- sb.charAt(bEnd) != '%' && sb.charAt(bEnd) != '?' &&
- sb.charAt(bEnd) != '&' && sb.charAt(bEnd) != '=') {
- break;
- }
- bEnd++;
- }
-
- final int propStart = bStart + Utils.getValueStart(n);
- final int propLength = bEnd - bStart;
-
- if (propStart > offset || propStart + propLength < offset) return null;
-
- return new Region(propStart,propLength);
- } catch (BadLocationException x) {
- //ignore
- return null;
- } finally {
- smw.dispose();
- }
- }
-
-}
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/RoleNameHyperlink.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/RoleNameHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/RoleNameHyperlink.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
-
-
-/**
- * @author Jeremy
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class RoleNameHyperlink extends JumpToHyperlink {
- protected String getDestinationAxis() {
- return "/web-app/security-role/role-name/"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see IHyperlink#getHyperlinkText()
- */
- public String getHyperlinkText() {
- return Messages.BrowseToRoleNameDefinition;
- }
-
-}
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/ServletNameHyperlink.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/ServletNameHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/ServletNameHyperlink.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
-
-
-/**
- * @author Jeremy
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class ServletNameHyperlink extends JumpToHyperlink {
- protected String getDestinationAxis() {
- return "/web-app/servlet/servlet-name/"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see IHyperlink#getHyperlinkText()
- */
- public String getHyperlinkText() {
- return Messages.BrowseToServletNameDefinition;
- }
-
-}
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TLDAttributeNameHyperlink.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TLDAttributeNameHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TLDAttributeNameHyperlink.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.text.IRegion;
-import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
-import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
-import org.jboss.tools.common.text.ext.util.Utils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author Jeremy
- *
- */
-public class TLDAttributeNameHyperlink extends JumpToHyperlink {
- protected String getDestinationAxis() {
- return "/taglib/tag/attribute/name/"; //$NON-NLS-1$
- }
-
- protected NodeList getRootElementsToSearch (IRegion region) {
- StructuredModelWrapper smw = new StructuredModelWrapper();
- try {
- smw.init(getDocument());
- Document xmlDocument = smw.getDocument();
- if (xmlDocument == null) return null;
-
- Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
-
- Element tagElement = null;
- while(n != null && tagElement == null) {
- n = n.getParentNode();
- if (n instanceof Element && validAxis(n, "/taglib/tag/")) { //$NON-NLS-1$
- tagElement = (Element)n;
- }
- }
- if (tagElement == null)
- return null;
-
- return tagElement.getChildNodes();
- } finally {
- smw.dispose();
- }
- }
-
- private boolean validAxis(Node n, String validAxisEnding) {
- if (validAxisEnding == null || validAxisEnding.lastIndexOf('/') == -1) return false;
- StringTokenizer st = new StringTokenizer(validAxisEnding, "/"); //$NON-NLS-1$
- List<String> tokens = new ArrayList<String>();
- while (st.hasMoreTokens()) {
- tokens.add(st.nextToken());
- }
- if (tokens.size() == 0) return false;
- Node currentElement = n;
- for (int i = tokens.size() - 1; i >= 0; i--) {
- if (currentElement == null || !(currentElement instanceof Element))
- return false;
- String token = (String)tokens.get(i);
- if (!token.equals(currentElement.getNodeName()))
- return false;
- currentElement = currentElement.getParentNode();
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see IHyperlink#getHyperlinkText()
- */
- public String getHyperlinkText() {
- return Messages.BrowseToTLDAttributeNameDeclaration;
- }
-
-}
Deleted: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
+++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools/common/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java 2009-09-25 15:57:36 UTC (rev 17754)
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.common.text.ext.hyperlink;
-
-import org.eclipse.jface.text.IDocument;
-import org.jboss.tools.common.text.ext.hyperlink.xml.XMLClassHyperlinkPartitioner;
-import org.jboss.tools.common.text.ext.hyperlink.xml.XMLTextHyperlinkPartitioner;
-import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
-import org.jboss.tools.common.text.ext.util.Utils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mareshkau
- *
- */
-public class TaglibDefinitionFilesHyperlinkPartitioner extends XMLTextHyperlinkPartitioner {
-
- public static final String TAGLIB_XML_PARTITION = "org.jboss.tools.common.text.ext.xml.TAGLIB_XML"; //$NON-NLS-1$
- /* (non-Javadoc)
- * @see org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion)
- */
- /**
- * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
- */
- @Override
- public boolean recognize(IDocument document, IHyperlinkRegion region) {
- StructuredModelWrapper smw = new StructuredModelWrapper();
- try {
- smw.init(document);
- Document xmlDocument = smw.getDocument();
- if (xmlDocument == null) return false;
-
- Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
- return (n instanceof Text);
- } finally {
- smw.dispose();
- }
- }
-
- @Override
- protected String getPartitionType(String axis) {
- if(axis!=null && axis.contains("class")) { //$NON-NLS-1$
- return XMLClassHyperlinkPartitioner.XML_CLASS_PARTITION;
- }
- return TAGLIB_XML_PARTITION;
- }
-}
15 years, 1 month
JBoss Tools SVN: r17753 - in trunk/struts/plugins/org.jboss.tools.struts.text.ext: src/org/jboss/tools/struts/text/ext/hyperlink and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:33:04 -0400 (Fri, 25 Sep 2009)
New Revision: 17753
Modified:
trunk/struts/plugins/org.jboss.tools.struts.text.ext/META-INF/MANIFEST.MF
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionMappingHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlink.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleKeyHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormActionHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormBeanHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsForwardHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPLinkHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagAttributeHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagNameHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlink.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPageHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPropertyHyperlinkPartitioner.java
trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsTaglibDirectiveHyperlinkPartitioner.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/META-INF/MANIFEST.MF
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:33:04 UTC (rev 17753)
@@ -16,6 +16,7 @@
org.eclipse.core.resources,
org.jboss.tools.struts,
org.jboss.tools.common.text.ext,
+ org.jboss.tools.jst.text.ext,
org.jboss.tools.jst.web,
org.eclipse.wst.sse.core,
org.jboss.tools.common.model,
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionMappingHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionMappingHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsActionMappingHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlink.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlink.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -19,7 +19,7 @@
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.StructuredSelectionHelper;
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBeanNameHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleKeyHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleKeyHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsBundleKeyHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormActionHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormActionHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormActionHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -20,7 +20,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
import org.jboss.tools.struts.text.ext.StrutsExtensionsPlugin;
/**
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormBeanHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormBeanHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsFormBeanHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsForwardHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsForwardHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsForwardHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPLinkHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPLinkHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPLinkHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -18,7 +18,7 @@
import org.jboss.tools.struts.StrutsProject;
import org.jboss.tools.struts.text.ext.StrutsExtensionsPlugin;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.w3c.dom.Document;
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagAttributeHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagAttributeHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagAttributeHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -21,7 +21,7 @@
import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.struts.StrutsProject;
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagNameHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagNameHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsJSPTagNameHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -20,7 +20,7 @@
import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.struts.StrutsProject;
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlink.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlink.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlink.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -22,7 +22,7 @@
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsLogicPropertyHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPageHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPageHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPageHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPropertyHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPropertyHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsPropertyHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.struts.text.ext.hyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsTaglibDirectiveHyperlinkPartitioner.java
===================================================================
--- trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsTaglibDirectiveHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
+++ trunk/struts/plugins/org.jboss.tools.struts.text.ext/src/org/jboss/tools/struts/text/ext/hyperlink/StrutsTaglibDirectiveHyperlinkPartitioner.java 2009-09-25 15:33:04 UTC (rev 17753)
@@ -17,7 +17,7 @@
import org.eclipse.jface.text.IRegion;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.struts.StrutsProject;
15 years, 1 month
JBoss Tools SVN: r17752 - in trunk/jsf/plugins/org.jboss.tools.jsf.text.ext: src/org/jboss/tools/jsf/text/ext/hyperlink and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:25:55 -0400 (Fri, 25 Sep 2009)
New Revision: 17752
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSFJSPLinkHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBeanHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBundleHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPCSSClassHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPConverterHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForIDHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForwardHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPLoadBundleHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPNavigationCaseHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPValidatorHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagAttributeHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPXmlNsHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfTaglibDirectiveHyperlinkPartitioner.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:25:55 UTC (rev 17752)
@@ -10,6 +10,7 @@
org.eclipse.ui,
org.eclipse.jface.text,
org.jboss.tools.common.text.ext,
+ org.jboss.tools.jst.text.ext,
org.jboss.tools.jsf
Export-Package: org.jboss.tools.jsf.text.ext,
org.jboss.tools.jsf.text.ext.hyperlink
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSFJSPLinkHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSFJSPLinkHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSFJSPLinkHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -18,7 +18,7 @@
import org.jboss.tools.jsf.project.JSFNature;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
public class JSFJSPLinkHyperlinkPartitioner extends JSPLinkHyperlinkPartitioner {
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBeanHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBeanHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBeanHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -28,7 +28,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
import org.jboss.tools.jst.web.project.list.WebPromptingProvider;
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBundleHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBundleHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPBundleHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -29,7 +29,7 @@
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.TaglibManagerWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPCSSClassHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPCSSClassHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPCSSClassHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -21,7 +21,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPConverterHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPConverterHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPConverterHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -21,7 +21,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPExprHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -23,7 +23,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForIDHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForIDHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForIDHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -22,7 +22,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForwardHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForwardHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPForwardHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -24,7 +24,7 @@
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.TaglibManagerWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPLoadBundleHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPLoadBundleHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPLoadBundleHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -24,7 +24,7 @@
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.TaglibManagerWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPNavigationCaseHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPNavigationCaseHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPNavigationCaseHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -22,7 +22,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPValidatorHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPValidatorHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JSPValidatorHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -23,7 +23,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.jsf.text.ext.JSFExtensionsPlugin;
/**
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagAttributeHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagAttributeHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagAttributeHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -22,7 +22,7 @@
import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.jsf.project.JSFNature;
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -21,7 +21,7 @@
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.jsf.text.ext.JSFTextExtMessages;
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -28,7 +28,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
/**
* @author Jeremy
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPXmlNsHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPXmlNsHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPXmlNsHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -17,7 +17,7 @@
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.Region;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.jsf.project.JSFNature;
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfTaglibDirectiveHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfTaglibDirectiveHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfTaglibDirectiveHyperlinkPartitioner.java 2009-09-25 15:25:55 UTC (rev 17752)
@@ -26,7 +26,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPTagAttributeValueHyperlinkPartitioner;
/**
* @author Jeremy
15 years, 1 month
JBoss Tools SVN: r17751 - in trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets: src/org/jboss/tools/jsf/text/ext/facelets/hyperlink and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:18:59 -0400 (Fri, 25 Sep 2009)
New Revision: 17751
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithExprHyperlinkPartitioner.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithNoExprHyperlinkPartitioner.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/META-INF/MANIFEST.MF 2009-09-25 15:15:50 UTC (rev 17750)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/META-INF/MANIFEST.MF 2009-09-25 15:18:59 UTC (rev 17751)
@@ -10,6 +10,7 @@
org.eclipse.ui,org.eclipse.core.runtime,
org.eclipse.core.resources,org.eclipse.jface.text,
org.jboss.tools.common.text.ext,
+ org.jboss.tools.jst.text.ext,
org.jboss.tools.jsf.text.ext
Export-Package: org.jboss.tools.jsf.text.ext.facelets,
org.jboss.tools.jsf.text.ext.facelets.hyperlink
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithExprHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithExprHyperlinkPartitioner.java 2009-09-25 15:15:50 UTC (rev 17750)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithExprHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
@@ -14,7 +14,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.jsf.text.ext.hyperlink.JSPExprHyperlinkPartitioner;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner;
public class FaceletsAttributeValueWithExprHyperlinkPartitioner extends JSPElementAttributeValueHyperlinkPartitioner {
public static final String FACELETS_ATTRIBUTE_VALUE_WITH_EXPR_PARTITION = "org.jboss.tools.common.text.ext.jsp.FACELETS_ATTRIBUTE_VALUE_WITH_EXPR"; //$NON-NLS-1$
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithNoExprHyperlinkPartitioner.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithNoExprHyperlinkPartitioner.java 2009-09-25 15:15:50 UTC (rev 17750)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.text.ext.facelets/src/org/jboss/tools/jsf/text/ext/facelets/hyperlink/FaceletsAttributeValueWithNoExprHyperlinkPartitioner.java 2009-09-25 15:18:59 UTC (rev 17751)
@@ -15,7 +15,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
import org.jboss.tools.jsf.text.ext.hyperlink.JSPExprHyperlinkPartitioner;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPElementAttributeValueHyperlinkPartitioner;
public class FaceletsAttributeValueWithNoExprHyperlinkPartitioner extends JSPElementAttributeValueHyperlinkPartitioner {
public static final String FACELETS_ATTRIBUTE_VALUE_WITH_NO_EXPR_PARTITION = "org.jboss.tools.common.text.ext.jsp.FACELETS_ATTRIBUTE_VALUE_WITH_NO_EXPR"; //$NON-NLS-1$
15 years, 1 month
JBoss Tools SVN: r17750 - trunk/seam/tests/org.jboss.tools.seam.ui.test/META-INF.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:15:50 -0400 (Fri, 25 Sep 2009)
New Revision: 17750
Modified:
trunk/seam/tests/org.jboss.tools.seam.ui.test/META-INF/MANIFEST.MF
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/seam/tests/org.jboss.tools.seam.ui.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/META-INF/MANIFEST.MF 2009-09-25 15:12:15 UTC (rev 17749)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/META-INF/MANIFEST.MF 2009-09-25 15:15:50 UTC (rev 17750)
@@ -25,6 +25,7 @@
org.eclipse.wst.sse.core,
org.eclipse.wst.sse.ui,
org.jboss.tools.common.text.ext,
+ org.jboss.tools.jst.text.ext,
org.jboss.tools.seam.text.ext,
org.eclipse.jface.text,
org.eclipse.wst.web.ui,
15 years, 1 month
JBoss Tools SVN: r17749 - in trunk/seam/plugins/org.jboss.tools.seam.text.ext: src/org/jboss/tools/seam/text/ext/hyperlink and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:12:15 -0400 (Fri, 25 Sep 2009)
New Revision: 17749
Modified:
trunk/seam/plugins/org.jboss.tools.seam.text.ext/META-INF/MANIFEST.MF
trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java
trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamViewHyperlinkPartitioner.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/META-INF/MANIFEST.MF
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:07:07 UTC (rev 17748)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:12:15 UTC (rev 17749)
@@ -22,6 +22,7 @@
org.jboss.tools.common.model,
org.jboss.tools.common.el.core,
org.jboss.tools.common.text.ext,
+ org.jboss.tools.jst.text.ext,
org.jboss.tools.jst.web,
org.jboss.tools.jsf,
org.jboss.tools.seam.core,
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java 2009-09-25 15:07:07 UTC (rev 17748)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java 2009-09-25 15:12:15 UTC (rev 17749)
@@ -35,7 +35,7 @@
import org.jboss.tools.common.text.ext.hyperlink.IHyperLinkPartitionPriority;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPRootHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.seam.core.ISeamContextVariable;
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamViewHyperlinkPartitioner.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamViewHyperlinkPartitioner.java 2009-09-25 15:07:07 UTC (rev 17748)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamViewHyperlinkPartitioner.java 2009-09-25 15:12:15 UTC (rev 17749)
@@ -16,7 +16,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.text.IDocument;
import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
-import org.jboss.tools.common.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner;
+import org.jboss.tools.jst.text.ext.hyperlink.jsp.JSPLinkHyperlinkPartitioner;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
import org.jboss.tools.seam.internal.core.SeamProject;
import org.jboss.tools.seam.text.ext.SeamExtPlugin;
15 years, 1 month
JBoss Tools SVN: r17748 - trunk/jsf/features/org.jboss.tools.richfaces.feature.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:07:07 -0400 (Fri, 25 Sep 2009)
New Revision: 17748
Modified:
trunk/jsf/features/org.jboss.tools.richfaces.feature/feature.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Modified: trunk/jsf/features/org.jboss.tools.richfaces.feature/feature.xml
===================================================================
--- trunk/jsf/features/org.jboss.tools.richfaces.feature/feature.xml 2009-09-25 15:01:55 UTC (rev 17747)
+++ trunk/jsf/features/org.jboss.tools.richfaces.feature/feature.xml 2009-09-25 15:07:07 UTC (rev 17748)
@@ -167,6 +167,13 @@
unpack="false"/>
<plugin
+ id="org.jboss.tools.jst.text.ext"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
id="org.jboss.tools.jst.web"
download-size="0"
install-size="0"
15 years, 1 month
JBoss Tools SVN: r17747 - in trunk/jst/plugins/org.jboss.tools.jst.text.ext: .settings and 11 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-09-25 11:01:55 -0400 (Fri, 25 Sep 2009)
New Revision: 17747
Added:
trunk/jst/plugins/org.jboss.tools.jst.text.ext/.classpath
trunk/jst/plugins/org.jboss.tools.jst.text.ext/.cvsignore
trunk/jst/plugins/org.jboss.tools.jst.text.ext/.options.template
trunk/jst/plugins/org.jboss.tools.jst.text.ext/.project
trunk/jst/plugins/org.jboss.tools.jst.text.ext/.ruleset
trunk/jst/plugins/org.jboss.tools.jst.text.ext/.settings/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/.settings/org.eclipse.jdt.core.prefs
trunk/jst/plugins/org.jboss.tools.jst.text.ext/META-INF/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/META-INF/MANIFEST.MF
trunk/jst/plugins/org.jboss.tools.jst.text.ext/about.html
trunk/jst/plugins/org.jboss.tools.jst.text.ext/build.properties
trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.properties
trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml
trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin_ja.properties
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/JSTExtensionsPlugin.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/FilterNameHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/RoleNameHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ServletNameHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TLDAttributeNameHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPClassHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementAttributeValueHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPLinkHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRelativeLinkHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRootHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPStylesheetRelLinkHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeValueHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTextHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlinkPartitioner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/CSSTextScanner.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/TaglibManagerWrapper.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4950
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.classpath
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/.classpath (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/.classpath 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.cvsignore
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/.cvsignore (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/.cvsignore 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1 @@
+bin
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.cvsignore
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.options.template
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/.options.template (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/.options.template 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1 @@
+org.jboss.tools.jsf.text.ext/debug=false
\ No newline at end of file
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.project
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/.project (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/.project 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.jst.text.ext</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sourceforge.pmd.runtime.pmdBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>net.sourceforge.pmd.runtime.pmdNature</nature>
+ </natures>
+</projectDescription>
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.ruleset
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/.ruleset (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/.ruleset 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ruleset xmlns="http://pmd.sf.net/ruleset/1.0.0" name="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd">
+<description></description>
+<rule class="net.sourceforge.pmd.rules.XPathRule" dfa="false" externalInfoUrl="" message="Exception catch is too generic" name="Avoid Catching Excetpion" typeResolution="true">
+<description></description>
+<priority>1</priority>
+<properties>
+<property name="xpath">
+<value><![CDATA[//CatchStatement/FormalParameter/Type
+ /ReferenceType/ClassOrInterfaceType[@Image='Exception']]]></value>
+</property>
+</properties>
+<example></example>
+<example></example>
+<example></example>
+</rule>
+</ruleset>
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/.settings/org.eclipse.jdt.core.prefs 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,9 @@
+#Fri Sep 25 18:49:45 GMT+03:00 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.source=1.5
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/META-INF/MANIFEST.MF
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/META-INF/MANIFEST.MF (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/META-INF/MANIFEST.MF 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,31 @@
+Manifest-Version: 1.0
+Eclipse-LazyStart: true
+Bundle-Activator: org.jboss.tools.jst.text.ext.JSTExtensionsPlugin
+Export-Package: org.jboss.tools.jst.text.ext,
+ org.jboss.tools.jst.text.ext.hyperlink,
+ org.jboss.tools.jst.text.ext.hyperlink.jsp,
+ org.jboss.tools.jst.text.ext.util
+Bundle-Version: 2.0.0
+Bundle-Name: %Bundle-Name.0
+Bundle-ManifestVersion: 2
+Bundle-Vendor: %providerName
+Plugin-Class: org.jboss.tools.jst.text.ext.JSTExtensionsPlugin
+Bundle-SymbolicName: org.jboss.tools.jst.text.ext;singleton:=true
+Bundle-Localization: plugin
+Require-Bundle: org.jboss.tools.common.model,
+ org.jboss.tools.common.text.ext,
+ org.eclipse.ui.ide,
+ org.eclipse.ui,
+ org.eclipse.jface.text,
+ org.eclipse.ui.workbench.texteditor,
+ org.eclipse.jdt.ui,
+ org.eclipse.wst.sse.core;visibility:=reexport,
+ org.eclipse.wst.sse.ui;visibility:=reexport,
+ org.eclipse.jst.jsp.core;visibility:=reexport,
+ org.eclipse.wst.common.modulecore;visibility:=reexport,
+ org.eclipse.pde.ui,
+ org.jboss.tools.common.el.core;bundle-version="2.0.0",
+ org.eclipse.emf.ecore;bundle-version="2.5.0",
+ org.eclipse.wst.css.core,
+ org.eclipse.wst.html.core
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/about.html
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/about.html (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/about.html 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+
+<BODY lang="EN-US">
+
+<H3>About This Content</H3>
+
+<P>©2007 Red Hat, Inc. All rights reserved</P>
+
+<H3>License</H3>
+
+<P>Red Hat Inc., through its JBoss division, makes available all content in this plug-in
+("Content"). Unless otherwise indicated below, the Content is provided to you
+under the terms and conditions of the Eclipse Public License Version 1.0
+("EPL"). A copy of the EPL is available at
+<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
+For purposes of the EPL, "Program" will mean the Content.</P>
+
+<P>If you did not receive this Content directly from Red Hat Inc., the
+Content is being redistributed by another party ("Redistributor") and different
+terms and conditions may apply to your use of any object code in the Content.
+Check the Redistributor's license that was provided with the Content. If no such
+license exists, contact the Redistributor. Unless otherwise indicated below, the
+terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at
+ <A href="http://www.jboss.org/tools">http://www.jboss.org/tools</A>.</P>
+
+</BODY>
+</HTML>
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/about.html
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/build.properties
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/build.properties (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/build.properties 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,10 @@
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+bin.includes = .,\
+ plugin.xml,\
+ plugin.properties,\
+ META-INF/,\
+ about.html
+src.includes = src/,\
+ plugin.xml
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/build.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.properties
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.properties (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.properties 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,3 @@
+providerName=JBoss by Red Hat
+
+Bundle-Name.0 = Text Editors Extensions
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+</plugin>
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin_ja.properties
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin_ja.properties (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin_ja.properties 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,2 @@
+providerName=JBoss by Red Hat
+Bundle-Name.0=\u30C6\u30AD\u30B9\u30C8\u30FB\u30A8\u30C7\u30A3\u30BF\u30FC\u62E1\u5F35
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/plugin_ja.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/JSTExtensionsPlugin.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/JSTExtensionsPlugin.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/JSTExtensionsPlugin.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPluginDescriptor;
+import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
+import org.jboss.tools.common.log.BaseUIPlugin;
+import org.jboss.tools.common.log.IPluginLog;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkDetector;
+import org.osgi.framework.BundleContext;
+
+
+/**
+ * @author Jeremy
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class JSTExtensionsPlugin extends BaseUIPlugin implements IAdaptable {
+ //The shared instance.
+ private static JSTExtensionsPlugin plugin;
+
+ public static final String PLUGIN_ID = "org.jboss.tools.common.text.ext"; //$NON-NLS-1$
+
+ /**
+ * The constructor.
+ */
+ public JSTExtensionsPlugin() {
+ super();
+ plugin = this;
+ }
+
+ /**
+ * Returns the shared instance.
+ */
+ public static JSTExtensionsPlugin getDefault() {
+ return plugin;
+ }
+
+ public Object getAdapter(Class adapter) {
+ if (adapter == IHyperlinkDetector.class) {
+ return HyperlinkDetector.getInstance();
+ }
+ return null;
+ }
+
+
+ /**
+ * @return IPluginLog object
+ */
+ public static IPluginLog getPluginLog() {
+ return getDefault();
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/JSTExtensionsPlugin.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,509 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.wst.css.core.internal.provisional.adapters.IModelProvideAdapter;
+import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleSheetAdapter;
+import org.eclipse.wst.css.core.internal.provisional.document.ICSSDocument;
+import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
+import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
+import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleRule;
+import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleSheet;
+import org.eclipse.wst.html.core.internal.htmlcss.LinkElementAdapter;
+import org.eclipse.wst.html.core.internal.htmlcss.URLModelProvider;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.jboss.tools.common.text.ext.ExtensionsPlugin;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+import org.jboss.tools.common.text.ext.util.RegionHolder;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.StructuredSelectionHelper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.css.CSSRule;
+import org.w3c.dom.css.CSSRuleList;
+import org.w3c.dom.css.CSSStyleSheet;
+
+/**
+ * @author Jeremy
+ */
+public class CSSClassHyperlink extends AbstractHyperlink {
+
+ public static final String[] STYLE_TAGS = new String[] { "style", "link" }; //$NON-NLS-1$//$NON-NLS-2$
+ public static final String LINK_TAG = "link"; //$NON-NLS-1$
+ public static final String HREF_ATTRIBUTE = "href"; //$NON-NLS-1$
+ public static final String COMPARE_CLASS_REGEX_PREFIX = "[\\.]?"; //$NON-NLS-1$
+ public static final String CONTEXT_PATH_EXPRESSION = "^\\s*(\\#|\\$)\\{facesContext.externalContext.requestContextPath\\}"; //$NON-NLS-1$
+
+ /**
+ *
+ */
+ protected void doHyperlink(IRegion region) {
+
+ IDOMModel model = (IDOMModel) getModelManager()
+ .getExistingModelForRead(getDocument());
+
+ // get name of looked for style
+ String styleName = getStyleName(region);
+
+ // get elements which copntans information about styles (style and link
+ // tags)
+ List<Node> styleElementList = getStyleContainerList(model);
+
+ // sort nodes by position in inverse order - from larger position to
+ // smaller
+ Collections.sort(styleElementList, new Comparator<Node>() {
+
+ public int compare(Node o1, Node o2) {
+ return ((IDOMNode) o2).getStartOffset()
+ - ((IDOMNode) o1).getStartOffset();
+ }
+
+ });
+
+ RegionHolder styleRegion = null;
+ // look for style in each Style element
+ for (Node styleContainer : styleElementList) {
+
+ styleRegion = findStyleRegion(styleContainer, styleName);
+
+ if (styleRegion != null) {
+ showRegion(styleRegion);
+ break;
+ }
+
+ }
+
+ model.releaseFromRead();
+ }
+
+ /**
+ *
+ * @param model
+ * @return
+ */
+ private List<Node> getStyleContainerList(IDOMModel model) {
+
+ // get model of current page
+ IDOMDocument document = model.getDocument();
+
+ List<Node> getStyleContainerList = new ArrayList<Node>();
+
+ // get all tags which contains style ( link, style)
+ for (String tagName : STYLE_TAGS) {
+ getStyleContainerList.addAll(getList(document
+ .getElementsByTagName(tagName)));
+ }
+
+ return getStyleContainerList;
+ }
+
+ /**
+ * move nodes from NodeList to List
+ *
+ * @param nodeList
+ * @return
+ */
+ List<Node> getList(NodeList nodeList) {
+
+ List<Node> newContainerList = new ArrayList<Node>();
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ newContainerList.add(nodeList.item(i));
+ }
+ return newContainerList;
+ }
+
+ /**
+ *
+ * @param stylesContainer
+ * @param styleName
+ * @return
+ */
+ public RegionHolder findStyleRegion(Node stylesContainer, String styleName) {
+
+ // get style sheet
+ CSSStyleSheet sheet = getSheet(stylesContainer);
+
+ if (sheet != null) {
+
+ CSSRuleList ruleList = sheet.getCssRules();
+
+ // for each cssRule
+ for (int i = 0; i < ruleList.getLength(); i++) {
+
+ CSSRule cssRule = ruleList.item(i);
+
+ // if cssRule describe looked for style
+ if (isRuleMatch(cssRule, styleName)) {
+
+ return new RegionHolder(getFile((ICSSNode) cssRule),
+ getRegion(cssRule));
+
+ }
+ }
+
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @param stylesContainer
+ * @return
+ */
+ private CSSStyleSheet getSheet(final Node stylesContainer) {
+
+ INodeNotifier notifier = (INodeNotifier) stylesContainer;
+
+ IStyleSheetAdapter adapter = (IStyleSheetAdapter) notifier
+ .getAdapterFor(IStyleSheetAdapter.class);
+
+ if (LINK_TAG.equalsIgnoreCase(stylesContainer.getNodeName())
+ && !(adapter instanceof ExtendedLinkElementAdapter)) {
+
+ notifier.removeAdapter(adapter);
+ adapter = new ExtendedLinkElementAdapter(
+ (Element) stylesContainer);
+ notifier.addAdapter(adapter);
+
+ }
+
+ CSSStyleSheet sheet = null;
+
+ if (adapter != null) {
+ sheet = (CSSStyleSheet) adapter.getSheet();
+
+ }
+
+ return sheet;
+
+ }
+
+ protected String processURL(String href) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ *
+ * @param cssRule
+ * @param styleName
+ * @return
+ */
+ private boolean isRuleMatch(CSSRule cssRule, String styleName) {
+
+ // get selector text
+ String selectorText = ((ICSSStyleRule) cssRule).getSelectorText();
+
+ if (selectorText != null) {
+
+ // split selector text by whitespace
+ String[] styles = selectorText.trim().split(" "); //$NON-NLS-1$
+ int searchIndex = Arrays.binarySearch(styles, styleName,
+ new Comparator<String>() {
+
+ public int compare(String o1, String o2) {
+ Matcher matcher = Pattern.compile(
+ COMPARE_CLASS_REGEX_PREFIX + o2)
+ .matcher(o1);
+ return matcher.matches() ? 0 : 1;
+ }
+
+ });
+ if (searchIndex >= 0)
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ *
+ * @param node
+ * @return
+ */
+ private IFile getFile(ICSSNode node) {
+
+ ICSSDocument sheet = node.getOwnerDocument();
+
+ return AbstractHyperlink.getFile(sheet.getModel());
+ }
+
+ /**
+ *
+ * @param cssRule
+ * @return
+ */
+ protected Region getRegion(CSSRule cssRule) {
+
+ int offset = ((IndexedRegion) cssRule).getStartOffset();
+
+ // if css rule is contained in style tag so it is require to take into
+ // account offset of this tag
+ ICSSStyleSheet document = (ICSSStyleSheet) ((ICSSStyleRule) cssRule)
+ .getOwnerDocument();
+
+ ICSSModel model = document.getModel();
+
+ // get style tag
+ Node node = model.getOwnerDOMNode();
+
+ // increase offset
+ if (node instanceof IDOMElement)
+ offset += ((IDOMElement) node).getStartEndOffset();
+
+ return new Region(offset, 0);
+
+ }
+
+ /**
+ *
+ * @param styleRegion
+ */
+ private void showRegion(RegionHolder styleRegion) {
+
+ IWorkbenchPage workbenchPage = ExtensionsPlugin.getDefault()
+ .getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ IEditorPart part = null;
+ if (styleRegion.file != null) {
+ try {
+ part = IDE.openEditor(workbenchPage, styleRegion.file, true);
+ } catch (PartInitException e) {
+ e.printStackTrace();
+ }
+ if (part == null) {
+ openFileFailed();
+ return;
+ }
+ }
+ StructuredSelectionHelper.setSelectionAndReveal(part,
+ styleRegion.region);
+ }
+
+ /**
+ *
+ * @param region
+ * @return
+ */
+ private String getStyleName(IRegion region) {
+ try {
+ return getDocument().get(region.getOffset(), region.getLength());
+ } catch (BadLocationException e) {
+ return null;
+ }
+ }
+
+ IRegion fLastRegion = null;
+
+ /**
+ * @see com.ibm.sse.editor.AbstractHyperlink#doGetHyperlinkRegion(int)
+ */
+ protected IRegion doGetHyperlinkRegion(int offset) {
+ fLastRegion = getRegion(offset);
+ return fLastRegion;
+ }
+
+ /**
+ * TODO research method
+ *
+ * @param offset
+ * @return
+ */
+ protected IRegion getRegion(int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null)
+ return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+
+ if (n == null || !(n instanceof Attr))
+ return null;
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if (start > offset)
+ return null;
+
+ String attrText = getDocument().get(start, end - start);
+
+ StringBuffer sb = new StringBuffer(attrText);
+ // find start of bean property
+ int bStart = offset - start;
+ while (bStart >= 0) {
+ if (!Character.isJavaIdentifierPart(sb.charAt(bStart))
+ && sb.charAt(bStart) != '_' && sb.charAt(bStart) != '-'
+ && sb.charAt(bStart) != '.') {
+ bStart++;
+ break;
+ }
+
+ if (bStart == 0)
+ break;
+ bStart--;
+ }
+ // find end of bean property
+ int bEnd = offset - start;
+ while (bEnd < sb.length()) {
+ if (!Character.isJavaIdentifierPart(sb.charAt(bEnd))
+ && sb.charAt(bEnd) != '_' && sb.charAt(bEnd) != '-'
+ && sb.charAt(bEnd) != '.')
+ break;
+ bEnd++;
+ }
+
+ final int propStart = bStart + start;
+ final int propLength = bEnd - bStart;
+
+ if (propStart > offset || propStart + propLength < offset)
+ return null;
+ return new Region(propStart, propLength);
+ } catch (BadLocationException x) {
+ // ignore
+ return null;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ String styleName = getStyleName(fLastRegion);
+ if (styleName == null)
+ return MessageFormat.format(Messages.OpenA, Messages.CSSStyle);
+
+ return MessageFormat.format(Messages.OpenCSSStyle, styleName);
+ }
+
+ @Override
+ protected String findAndReplaceElVariable(String fileName) {
+ if (fileName != null)
+ fileName = fileName
+ .replaceFirst(
+ "^\\s*(\\#|\\$)\\{facesContext.externalContext.requestContextPath\\}",
+ "");
+ return super.findAndReplaceElVariable(fileName);
+ }
+
+ public class ExtendedLinkElementAdapter extends LinkElementAdapter {
+
+ private Element element;
+
+ public ExtendedLinkElementAdapter(Element element) {
+ this.element = element;
+ }
+
+ @Override
+ public Element getElement() {
+ return element;
+ }
+
+ @Override
+ protected boolean isValidAttribute() {
+ String href = getElement().getAttribute(HREF_ATTRIBUTE);
+ if (href == null || href.length() == 0)
+ return false;
+ return true;
+ }
+
+ /**
+ */
+ public ICSSModel getModel() {
+ ICSSModel model = super.getModel();
+ if (model == null) {
+ model = retrieveModel();
+ setModel(model);
+ }
+ return model;
+ }
+
+ /**
+ */
+ private ICSSModel retrieveModel() {
+ if (!isValidAttribute()) {
+ return null;
+ }
+
+ // null,attr check is done in isValidAttribute()
+ Element element = getElement();
+ String href = findAndReplaceElVariable(element
+ .getAttribute(HREF_ATTRIBUTE));
+
+ IDOMModel baseModel = ((IDOMNode) element).getModel();
+ if (baseModel == null)
+ return null;
+ Object id = baseModel.getId();
+ if (!(id instanceof String))
+ return null;
+ // String base = (String)id;
+
+ // get ModelProvideAdapter
+ IModelProvideAdapter adapter = (IModelProvideAdapter) ((INodeNotifier) getElement())
+ .getAdapterFor(IModelProvideAdapter.class);
+
+ URLModelProvider provider = new URLModelProvider();
+ try {
+ IStructuredModel newModel = provider.getModelForRead(baseModel,
+ href);
+ if (newModel == null)
+ return null;
+ if (!(newModel instanceof ICSSModel)) {
+ newModel.releaseFromRead();
+ return null;
+ }
+
+ // notify adapter
+ if (adapter != null)
+ adapter.modelProvided(newModel);
+
+ return (ICSSModel) newModel;
+ } catch (UnsupportedEncodingException e) {
+ } catch (IOException e) {
+ }
+
+ return null;
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import org.eclipse.jface.text.IDocument;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+/**
+ *
+ * @author Sergey Dzmitrovich
+ *
+ */
+public class CSSClassHyperlinkPartitioner extends
+ AbstractHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+
+ public static final String CSS_CLASS_PARTITION = "org.jboss.tools.common.text.ext.CSS_CLASS"; //$NON-NLS-1$
+
+ private static final String CSS_CLASS_TOKEN = "class/"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument,
+ * com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document,
+ IHyperlinkRegion superRegion) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null)
+ return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, superRegion
+ .getOffset());
+ if (n == null || !(n instanceof Attr))
+ return null;
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = getPartitionType(axis);
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if (start < 0 || end < start)
+ return null;
+ int length = end - start;
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis,
+ contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ private String getPartitionType(String axis) {
+ return CSS_CLASS_PARTITION;
+ }
+
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+
+ if (region.getAxis() != null
+ && region.getAxis().toLowerCase().endsWith(CSS_CLASS_TOKEN))
+ return true;
+ return false;
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/CSSClassHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/FilterNameHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/FilterNameHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/FilterNameHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import org.jboss.tools.common.text.ext.hyperlink.JumpToHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+/**
+ * @author Jeremy
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class FilterNameHyperlink extends JumpToHyperlink {
+ protected String getDestinationAxis() {
+ return "/web-app/filter/filter-name/"; //$NON-NLS-1$
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ return Messages.BrowseToFilterNameDefinition;
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/FilterNameHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+
+import org.jboss.tools.common.text.ext.hyperlink.RelativeLinkHyperlink;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * @author Jeremy
+ *
+ */
+public class JSPStylesheetRelLinkHyperlink extends RelativeLinkHyperlink {
+
+ private static final String HREF_ATTRNAME = "href"; //$NON-NLS-1$
+
+ protected IRegion getRegion (int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(getDocument());
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+
+ if (n == null || !(n instanceof Text || n instanceof Attr)) return null;
+
+ String text = null;
+ int bStart = 0;
+ int bEnd = 0;
+
+ if (n instanceof Text) {
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if (start < 0 || start > offset) return null;
+
+ text = getDocument().get(start, end - start);
+ bStart = offset - start;
+ bEnd = offset - start;
+ } else if (n instanceof Attr) {
+ Attr attr = (Attr)n;
+ if (!HREF_ATTRNAME.equalsIgnoreCase(attr.getName())) return null;
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if(start < 0) return null;
+
+ text = getDocument().get(start, end - start);
+ bStart = offset - start;
+ bEnd = offset - start;
+ }
+ StringBuffer sb = new StringBuffer(text);
+ //find start of bean property
+ while (bStart >= 0) {
+ if (!Character.isJavaIdentifierPart(sb.charAt(bStart)) &&
+ sb.charAt(bStart) != '\\' && sb.charAt(bStart) != '/' &&
+ sb.charAt(bStart) != ':' && sb.charAt(bStart) != '-' &&
+ sb.charAt(bStart) != '.' && sb.charAt(bStart) != '_' &&
+ sb.charAt(bStart) != '%' && sb.charAt(bStart) != '?' &&
+ sb.charAt(bStart) != '&' && sb.charAt(bStart) != '=') {
+ bStart++;
+ break;
+ }
+
+ if (bStart == 0) break;
+ bStart--;
+ }
+ // find end of bean property
+ while (bEnd >= 0 && bEnd < sb.length()) {
+ if (!Character.isJavaIdentifierPart(sb.charAt(bEnd)) &&
+ sb.charAt(bEnd) != '\\' && sb.charAt(bEnd) != '/' &&
+ sb.charAt(bEnd) != ':' && sb.charAt(bEnd) != '-' &&
+ sb.charAt(bEnd) != '.' && sb.charAt(bEnd) != '_' &&
+ sb.charAt(bEnd) != '%' && sb.charAt(bEnd) != '?' &&
+ sb.charAt(bEnd) != '&' && sb.charAt(bEnd) != '=') {
+ break;
+ }
+ bEnd++;
+ }
+
+ final int propStart = bStart + Utils.getValueStart(n);
+ final int propLength = bEnd - bStart;
+
+ if (propStart > offset || propStart + propLength < offset) return null;
+
+ return new Region(propStart,propLength);
+ } catch (BadLocationException x) {
+ //ignore
+ return null;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/JSPStylesheetRelLinkHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/RoleNameHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/RoleNameHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/RoleNameHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import org.jboss.tools.common.text.ext.hyperlink.JumpToHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+
+
+/**
+ * @author Jeremy
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class RoleNameHyperlink extends JumpToHyperlink {
+ protected String getDestinationAxis() {
+ return "/web-app/security-role/role-name/"; //$NON-NLS-1$
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ return Messages.BrowseToRoleNameDefinition;
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/RoleNameHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ServletNameHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ServletNameHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ServletNameHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import org.jboss.tools.common.text.ext.hyperlink.JumpToHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+
+
+/**
+ * @author Jeremy
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class ServletNameHyperlink extends JumpToHyperlink {
+ protected String getDestinationAxis() {
+ return "/web-app/servlet/servlet-name/"; //$NON-NLS-1$
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ return Messages.BrowseToServletNameDefinition;
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ServletNameHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TLDAttributeNameHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TLDAttributeNameHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TLDAttributeNameHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.eclipse.jface.text.IRegion;
+import org.jboss.tools.common.text.ext.hyperlink.JumpToHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * @author Jeremy
+ *
+ */
+public class TLDAttributeNameHyperlink extends JumpToHyperlink {
+ protected String getDestinationAxis() {
+ return "/taglib/tag/attribute/name/"; //$NON-NLS-1$
+ }
+
+ protected NodeList getRootElementsToSearch (IRegion region) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+
+ Element tagElement = null;
+ while(n != null && tagElement == null) {
+ n = n.getParentNode();
+ if (n instanceof Element && validAxis(n, "/taglib/tag/")) { //$NON-NLS-1$
+ tagElement = (Element)n;
+ }
+ }
+ if (tagElement == null)
+ return null;
+
+ return tagElement.getChildNodes();
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ private boolean validAxis(Node n, String validAxisEnding) {
+ if (validAxisEnding == null || validAxisEnding.lastIndexOf('/') == -1) return false;
+ StringTokenizer st = new StringTokenizer(validAxisEnding, "/"); //$NON-NLS-1$
+ List<String> tokens = new ArrayList<String>();
+ while (st.hasMoreTokens()) {
+ tokens.add(st.nextToken());
+ }
+ if (tokens.size() == 0) return false;
+ Node currentElement = n;
+ for (int i = tokens.size() - 1; i >= 0; i--) {
+ if (currentElement == null || !(currentElement instanceof Element))
+ return false;
+ String token = (String)tokens.get(i);
+ if (!token.equals(currentElement.getNodeName()))
+ return false;
+ currentElement = currentElement.getParentNode();
+ }
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ return Messages.BrowseToTLDAttributeNameDeclaration;
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TLDAttributeNameHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink;
+
+import org.eclipse.jface.text.IDocument;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLClassHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLTextHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+
+/**
+ * @author mareshkau
+ *
+ */
+public class TaglibDefinitionFilesHyperlinkPartitioner extends XMLTextHyperlinkPartitioner {
+
+ public static final String TAGLIB_XML_PARTITION = "org.jboss.tools.common.text.ext.xml.TAGLIB_XML"; //$NON-NLS-1$
+ /* (non-Javadoc)
+ * @see org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion)
+ */
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ @Override
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ return (n instanceof Text);
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ @Override
+ protected String getPartitionType(String axis) {
+ if(axis!=null && axis.contains("class")) { //$NON-NLS-1$
+ return XMLClassHyperlinkPartitioner.XML_CLASS_PARTITION;
+ }
+ return TAGLIB_XML_PARTITION;
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/TaglibDefinitionFilesHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,199 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.text.MessageFormat;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.ui.IEditorPart;
+import org.jboss.tools.common.text.ext.hyperlink.ClassMethodHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * @author Jeremy
+ *
+ */
+public class JSPBeanGetPropertyHyperlink extends ClassMethodHyperlink {
+ private static final String USEBEAN_TAGNAME = "jsp:useBean"; //$NON-NLS-1$
+ private static final String ID_ATTRNAME = "id"; //$NON-NLS-1$
+ private static final String NAME_ATTRNAME = "name"; //$NON-NLS-1$
+ private static final String CLASS_ATTRNAME = "class"; //$NON-NLS-1$
+ private static final String TYPE_ATTRNAME = "type"; //$NON-NLS-1$
+ protected static final String GET_METHOD_PREFIX = "get"; //$NON-NLS-1$
+ protected static final String SET_METHOD_PREFIX = "set"; //$NON-NLS-1$
+
+ protected String getMethodPrefix() {
+ return GET_METHOD_PREFIX;
+ }
+
+ private String getMethodName(String propertyName) {
+ String name = propertyName.trim();
+ // Capitalize first letter of the name
+ name = name.substring(0, 1).toUpperCase() + name.substring(1);
+ return getMethodPrefix() + name;
+ }
+
+ protected String getClassName(IRegion region) {
+ return null;
+ }
+ protected String getMethodName(IRegion region) {
+ return null;
+ }
+
+ /**
+ * @see com.ibm.sse.editor.AbstractHyperlink#doHyperlink(org.eclipse.jface.text.IRegion)
+ */
+ protected void doHyperlink(IRegion region) {
+ try {
+ String beanID = getBeanId(region);
+ String propertyName = getPropertyName(region);
+
+ Element elementByID = findElementByIDBackward(beanID, region.getOffset(), USEBEAN_TAGNAME);
+ String className = getAttributeValue(elementByID, CLASS_ATTRNAME);
+ String typeName = getAttributeValue(elementByID, TYPE_ATTRNAME);
+
+ IJavaElement beanMethod = null;
+ if (className != null && className.trim().length() > 0) {
+ beanMethod = searchForClassMethod(className, getMethodName(propertyName));
+ }
+ if (beanMethod == null && (typeName != null && typeName.trim().length() > 0)) {
+ beanMethod = searchForClassMethod(typeName, getMethodName(propertyName));
+ }
+
+ if (beanMethod != null) {
+ IEditorPart part = JavaUI.openInEditor(beanMethod);
+ if (part != null) {
+ JavaUI.revealInEditor(part, beanMethod);
+ }
+ else {
+ // could not open editor
+ openFileFailed();
+ }
+ } else {
+ openFileFailed();
+ }
+ } catch (CoreException x) {
+ openFileFailed();
+ }
+ }
+
+ private Element findElementByIDBackward (String id, int endOffset, String tagname) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, endOffset);
+
+ if (n == null) return null;
+ if (n instanceof Attr) n = ((Attr)n).getOwnerElement();
+
+ Element element = null;
+ for (Node parent = n;parent != null && element == null; parent = parent.getParentNode()) {
+ element = findElementByIDBackward(xmlDocument.getChildNodes(), id, endOffset, tagname);
+ }
+ return element;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ private Element findElementByIDBackward(NodeList list, String id, int endOffset, String tagName) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ for (int i = list.getLength() - 1; list != null && i >= 0; i--) {
+ if(!(list.item(i) instanceof Element)) continue;
+ Element element = (Element)list.item(i);
+ int start = Utils.getValueStart(element);
+ if (start < 0 || start >= endOffset) continue;
+
+ String elementName = element.getNodeName();
+ if (tagName.equals(elementName)) {
+
+ Attr idAttr = element.getAttributeNode(ID_ATTRNAME);
+ if (idAttr != null) {
+ String val = Utils.trimQuotes(idAttr.getNodeValue());
+ if (id.equals(val)) {
+ return element;
+ }
+ }
+ }
+
+ if (element.hasChildNodes()) {
+ Element child = findElementByIDBackward(element.getChildNodes(), id, endOffset, tagName);
+ if (child != null) return child;
+ }
+
+ }
+ } finally {
+ smw.dispose();
+ }
+ return null;
+ }
+
+ String getPropertyName(IRegion region) {
+ try {
+ return Utils.trimQuotes(getDocument().get(region.getOffset(), region.getLength()));
+ } catch (BadLocationException x) {
+ //ignore
+ return null;
+ }
+ }
+
+ private String getBeanId(IRegion region) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+
+ if (n == null || !(n instanceof Attr)) return null;
+
+ Node node = ((Attr)n).getOwnerElement();
+
+ return getAttributeValue(node, NAME_ATTRNAME);
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ String propertyName = getPropertyName(fLastRegion);
+ if (propertyName == null)
+ return MessageFormat.format(Messages.OpenA, Messages.Getter);
+
+ return MessageFormat.format(Messages.OpenGetterOrSetterForProperty, Messages.Getter, propertyName);
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * @author Jeremy
+ */
+public class JSPBeanGetPropertyHyperlinkPartitioner extends AbstractHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ public static final String JSP_BEAN_GET_PROPERTY_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_BEAN_GET_PROPERTY"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+ if (n == null || !(n instanceof Attr)) return null;
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if(start < 0) return null;
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_BEAN_GET_PROPERTY_PARTITION;
+ int length = end - start - (superRegion.getOffset() - start);
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (!(n instanceof Attr)) return false;
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+
+ if (start < 0 || start > region.getOffset() || end < region.getOffset())
+ return false;
+
+ return true;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanGetPropertyHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.text.MessageFormat;
+
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+
+/**
+ * @author Jeremy
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class JSPBeanSetPropertyHyperlink extends JSPBeanGetPropertyHyperlink {
+
+ protected String getMethodPrefix() {
+ return SET_METHOD_PREFIX;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ String propertyName = getPropertyName(fLastRegion);
+ if (propertyName == null)
+ return MessageFormat.format(Messages.OpenA, Messages.Setter);
+
+ return MessageFormat.format(Messages.OpenGetterOrSetterForProperty, Messages.Setter, propertyName);
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * @author Jeremy
+ */
+public class JSPBeanSetPropertyHyperlinkPartitioner extends AbstractHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ public static final String JSP_BEAN_SET_PROPERTY_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_BEAN_SET_PROPERTY"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+ if (n == null || !(n instanceof Attr)) return null;
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_BEAN_SET_PROPERTY_PARTITION;
+ int length = end - start - (superRegion.getOffset() - start);
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (!(n instanceof Attr)) return false;
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+
+ if (start < 0 || start > region.getOffset() || end < region.getOffset())
+ return false;
+
+ return true;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPBeanSetPropertyHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * * @deprecated see org.jboss.tools.common.text.ext.hyperlink.CSSClassHyperlinkPartitioner
+ * @author Jeremy
+ */
+public class JSPCSSClassHyperlinkPartitioner extends AbstractHyperlinkPartitioner /*implements IHyperlinkPartitionRecognizer */{
+ public static final String JSP_CSS_CLASS_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_CSS_CLASS"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+// if (!recognize(document, superRegion)) return null;
+ IHyperlinkRegion r = getRegion(document, superRegion.getOffset());
+ if (r == null) return null;
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_CSS_CLASS_PARTITION;
+ int length = r.getLength() - (superRegion.getOffset() - r.getOffset());
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+ public static IHyperlinkRegion getRegion(IDocument document, final int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+
+ if (n == null || !(n instanceof Attr)) return null;
+
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+
+ if (start < 0 || start > offset) return null;
+
+ String attrText = document.get(start, end - start);
+ StringBuffer sb = new StringBuffer(attrText);
+
+ //find start and end of path property
+ int bStart = 0;
+ int bEnd = attrText.length() - 1;
+
+ while (bStart < bEnd &&
+ (sb.charAt(bStart) == '\'' || sb.charAt(bStart) == '\"' ||
+ Character.isWhitespace(sb.charAt(bStart)))) {
+ bStart++;
+ }
+ while (bEnd > bStart &&
+ (sb.charAt(bEnd) == '\'' || sb.charAt(bEnd) == '\"' ||
+ Character.isWhitespace(sb.charAt(bEnd)))) {
+ bEnd--;
+ }
+ bEnd++;
+
+ int propStart = bStart + start;
+ int propLength = bEnd - bStart;
+
+ if (propStart > offset || propStart + propLength < offset) return null;
+
+ IHyperlinkRegion region = new HyperlinkRegion(propStart, propLength, null, null, null);
+ return region;
+ } catch (BadLocationException x) {
+ //ignore
+ return null;
+ } finally {
+ smw.dispose();
+ }
+
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPCSSClassHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPClassHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPClassHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPClassHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLClassHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public class JSPClassHyperlinkPartitioner extends XMLClassHyperlinkPartitioner {
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPClassHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementAttributeValueHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementAttributeValueHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementAttributeValueHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLElementAttributeValueHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public class JSPElementAttributeValueHyperlinkPartitioner extends XMLElementAttributeValueHyperlinkPartitioner {
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementAttributeValueHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLElementHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public class JSPElementHyperlinkPartitioner extends XMLElementHyperlinkPartitioner {
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,141 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.text.MessageFormat;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.util.FindObjectHelper;
+import org.jboss.tools.common.text.ext.ExtensionsPlugin;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.TaglibManagerWrapper;
+import org.jboss.tools.jst.web.tld.ITaglibMapping;
+import org.jboss.tools.jst.web.tld.IWebProject;
+import org.jboss.tools.jst.web.tld.WebProjectFactory;
+import org.w3c.dom.Document;
+
+/**
+ * @author Jeremy
+ */
+public class JSPElementNameHyperlink extends AbstractHyperlink {
+
+ /**
+ * @see com.ibm.sse.editor.AbstractHyperlink#doHyperlink(org.eclipse.jface.text.IRegion)
+ */
+ protected void doHyperlink(IRegion region) {
+ XModelObject object = getFilename(region);
+ if(object != null) {
+ FindObjectHelper.findModelObject(object, FindObjectHelper.IN_EDITOR_ONLY);
+ } else {
+ openFileFailed();
+ }
+ }
+
+ protected final String JAR_FILE_PROTOCOL = "jar:file:/";//$NON-NLS-1$
+
+ /*
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlink#openFileInEditor(java.lang.String)
+ */
+ protected void openFileInEditor(String fileString) {
+
+ if (fileString.startsWith(JAR_FILE_PROTOCOL)) {
+ fileString = fileString.substring(JAR_FILE_PROTOCOL.length());
+
+ IEditorInput jarEditorInput = createEditorInput(fileString);
+ IEditorPart part = openFileInEditor(jarEditorInput, fileString);
+ if (part == null) openFileFailed();
+ } else {
+ super.openFileInEditor(fileString);
+ }
+ }
+
+ private XModelObject getFilename(IRegion region) {
+ XModel xModel = getXModel();
+ if (xModel == null) return null;
+
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ String nodePrefix = getTagPrefix(region);
+ if (nodePrefix == null)
+ return null;
+
+ TaglibManagerWrapper tmw = new TaglibManagerWrapper();
+ tmw.init(getDocument(), region.getOffset());
+ if(!tmw.exists()) return null;
+ String uri = tmw.getUri(nodePrefix);
+
+ if (uri == null) return null;
+
+ IWebProject wp = WebProjectFactory.instance.getWebProject(xModel);
+ if (wp == null) return null;
+
+ ITaglibMapping tm = wp.getTaglibMapping();
+ if (tm == null) return null;
+ tm.invalidate();
+ return tm.getTaglibObject(uri);
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ private String getTagPrefix(IRegion region) {
+ if (region == null)
+ return null;
+
+ String nodeName;
+ try {
+ nodeName = getDocument().get(region.getOffset(), region.getLength());
+ } catch (BadLocationException e) {
+ // Ignore
+ return null;
+ }
+ if (nodeName.indexOf(":") != -1) { //$NON-NLS-1$
+ String nodePrefix = nodeName.substring(0, nodeName.indexOf(":")); //$NON-NLS-1$
+ if (nodePrefix != null && nodePrefix.length() > 0)
+ return nodePrefix;
+ }
+ return null;
+ }
+
+ IRegion fLastRegion = null;
+ /**
+ * @see com.ibm.sse.editor.AbstractHyperlink#doGetHyperlinkRegion(int)
+ */
+ protected IRegion doGetHyperlinkRegion(int offset) {
+ fLastRegion = JSPElementNameHyperlinkPartitioner.getRegion(getDocument(), offset);
+ return fLastRegion;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ String tagPrefix = getTagPrefix(fLastRegion);
+ if (tagPrefix == null)
+ return MessageFormat.format(Messages.OpenA, Messages.TagLibrary);
+
+ return MessageFormat.format(Messages.OpenTagLibraryForPrefix, tagPrefix);
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.util.Map;
+import org.eclipse.jface.text.IDocument;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLElementNameHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public class JSPElementNameHyperlinkPartitioner extends XMLElementNameHyperlinkPartitioner {
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ if (!super.recognize(document, region)) return false;
+
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ Element elem = (Element)n;
+
+ IHyperlinkRegion r = getRegion(document, region.getOffset());
+ if (r == null) return false;
+
+ String nodeName = elem.getNodeName();
+ if (nodeName.indexOf(":") == -1) return false; //$NON-NLS-1$
+ String nodePrefix = nodeName.substring(0, nodeName.indexOf(":")); //$NON-NLS-1$
+ if (nodePrefix == null || nodePrefix.length() == 0) return false;
+
+ Map trackers = JSPRootHyperlinkPartitioner.getTrackersMap(document, region.getOffset());
+ return (trackers != null && trackers.containsKey(nodePrefix));
+ } finally {
+ smw.dispose();
+ }
+ }
+
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPElementNameHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,196 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.text.MessageFormat;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.StructuredSelectionHelper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+/**
+ * @author Jeremy
+ */
+public class JSPForBeanIdHyperlink extends AbstractHyperlink {
+ private static final String USEBEAN_TAGNAME = "jsp:useBean"; //$NON-NLS-1$
+ private static final String ID_ATTRNAME = "id"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.AbstractHyperlink#doHyperlink(org.eclipse.jface.text.IRegion)
+ */
+ protected void doHyperlink(IRegion region) {
+ String forID = getForId(region);
+ IRegion elementByID = findElementByIDBackward(forID, region.getOffset(), USEBEAN_TAGNAME);
+ if (elementByID != null) {
+ StructuredSelectionHelper.setSelectionAndRevealInActiveEditor(elementByID);
+ } else {
+ openFileFailed();
+ }
+ }
+
+ private IRegion findElementByIDBackward (String id, int endOffset, String tagname) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, endOffset);
+
+ if (n == null) return null;
+ if (n instanceof Attr) n = ((Attr)n).getOwnerElement();
+ if (n == null) return null;
+
+ Element element = null;
+ for (Node parent = n; parent != null && element == null; parent = parent.getParentNode()) {
+ element = findElementByIDBackward(xmlDocument.getChildNodes(), id, endOffset, tagname);
+ }
+
+ if (!(element instanceof IDOMElement)) return null;
+
+ final int offset = Utils.getValueStart(element);
+ final int length = ((IDOMElement)element).getStartStructuredDocumentRegion().getLength();
+ return new Region (offset, length);
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ private Element findElementByIDBackward(NodeList list, String id, int endOffset, String tagName) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ for (int i = list.getLength() - 1; list != null && i >= 0; i--) {
+ if(!(list.item(i) instanceof Element)) continue;
+ Element element = (Element)list.item(i);
+ int start = Utils.getValueStart(element);
+ if (start < 0 || start >= endOffset) continue;
+
+ String elementName = element.getNodeName();
+ if (tagName.equals(elementName)) {
+
+ Attr idAttr = (Attr)element.getAttributeNode(ID_ATTRNAME);
+ if (idAttr != null) {
+ String val = Utils.trimQuotes(idAttr.getNodeValue());
+ if (id.equals(val)) {
+ return element;
+ }
+ }
+ }
+
+ if (element.hasChildNodes()) {
+ Element child = findElementByIDBackward(element.getChildNodes(), id, endOffset, tagName);
+ if (child != null) return child;
+ }
+ }
+ } finally {
+ smw.dispose();
+ }
+ return null;
+ }
+
+
+ String getForId(IRegion region) {
+ try {
+ return Utils.trimQuotes(getDocument().get(region.getOffset(), region.getLength()));
+ } catch (BadLocationException x) {
+ //ignore
+ return null;
+ }
+ }
+
+ IRegion fLastRegion = null;
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.ibm.sse.editor.AbstractHyperlink#doGetHyperlinkRegion(int)
+ */
+ protected IRegion doGetHyperlinkRegion(int offset) {
+ fLastRegion = getRegion(offset);
+ return fLastRegion;
+ }
+
+ private IRegion getRegion(int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+
+ if (n == null || !(n instanceof Attr || n instanceof Text)) return null;
+
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+
+ if (start > offset || end < offset) return null;
+
+ String text = getDocument().get(start, end - start);
+ StringBuffer sb = new StringBuffer(text);
+
+ //find start and end of path property
+ int bStart = 0;
+ int bEnd = text.length() - 1;
+
+ while (bStart < bEnd && (Character.isWhitespace(sb.charAt(bStart))
+ || sb.charAt(bStart) == '\"' || sb.charAt(bStart) == '\"')) {
+ bStart++;
+ }
+ while (bEnd > bStart && (Character.isWhitespace(sb.charAt(bEnd))
+ || sb.charAt(bEnd) == '\"' || sb.charAt(bEnd) == '\"')) {
+ bEnd--;
+ }
+ bEnd++;
+
+ final int propStart = bStart + start;
+ final int propLength = bEnd - bStart;
+
+ if (propStart > offset || propStart + propLength < offset) return null;
+
+ return new Region (propStart,propLength);
+ } catch (BadLocationException x) {
+ //ignore
+ return null;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ String forId = getForId(fLastRegion);
+ if (forId == null)
+ return MessageFormat.format(Messages.BrowseFor, Messages.BeanId);
+
+ return MessageFormat.format(Messages.BrowseForBeanId, forId);
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * @author Jeremy
+ */
+public class JSPForBeanIdHyperlinkPartitioner extends AbstractHyperlinkPartitioner /*implements IHyperlinkPartitionRecognizer */{
+ public static final String JSP_FOR_BEAN_ID_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_FOR_BEAN_ID"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+// if (!recognize(document, superRegion)) return null;
+ IHyperlinkRegion r = getRegion(document, superRegion.getOffset());
+ if (r == null) return null;
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_FOR_BEAN_ID_PARTITION;
+ int length = r.getLength() - (superRegion.getOffset() - r.getOffset());
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+ public static IHyperlinkRegion getRegion(IDocument document, final int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+
+ if (n == null || !(n instanceof Attr)) return null;
+
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+
+ if (start < 0 || start > offset) return null;
+
+ String attrText = document.get(start, end - start);
+ StringBuffer sb = new StringBuffer(attrText);
+
+ //find start and end of path property
+ int bStart = 0;
+ int bEnd = attrText.length() - 1;
+
+ while (bStart < bEnd &&
+ (sb.charAt(bStart) == '\'' || sb.charAt(bStart) == '\"' ||
+ Character.isWhitespace(sb.charAt(bStart)))) {
+ bStart++;
+ }
+ while (bEnd > bStart &&
+ (sb.charAt(bEnd) == '\'' || sb.charAt(bEnd) == '\"' ||
+ Character.isWhitespace(sb.charAt(bEnd)))) {
+ bEnd--;
+ }
+ bEnd++;
+
+ int propStart = bStart + start;
+ int propLength = bEnd - bStart;
+
+ if (propStart > offset || propStart + propLength < offset) return null;
+
+ IHyperlinkRegion region = new HyperlinkRegion(propStart, propLength, null, null, null);
+ return region;
+ } catch (BadLocationException x) {
+ //ignore
+ return null;
+ } finally {
+ smw.dispose();
+ }
+
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPForBeanIdHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPLinkHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPLinkHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPLinkHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLLinkHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public class JSPLinkHyperlinkPartitioner extends XMLLinkHyperlinkPartitioner {
+ public static final String JSP_LINK_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_LINK"; //$NON-NLS-1$
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.common.text.ext.hyperlink.XMLLinkHyperlinkPartitioner#getPartitionType()
+ */
+ protected String getPartitionType() {
+ return JSP_LINK_PARTITION;
+ }
+
+ /* (non-Javadoc)
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ return true;
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPLinkHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRelativeLinkHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRelativeLinkHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRelativeLinkHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLLinkHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public class JSPRelativeLinkHyperlinkPartitioner extends XMLLinkHyperlinkPartitioner {
+ public static final String JSP_RELATIVE_LINK_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_RELATIVE_LINK"; //$NON-NLS-1$
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.common.text.ext.hyperlink.XMLLinkHyperlinkPartitioner#getPartitionType()
+ */
+ protected String getPartitionType() {
+ return JSP_RELATIVE_LINK_PARTITION;
+ }
+
+ /* (non-Javadoc)
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ return true;
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+}
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRelativeLinkHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRootHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRootHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRootHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,229 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.jboss.tools.jst.web.tld.ITaglibMapping;
+import org.jboss.tools.jst.web.tld.WebProjectFactory;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+/**
+ * @author Jeremy
+ */
+public class JSPRootHyperlinkPartitioner extends AbstractHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ public static final String JSP_ROOT_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_ROOT"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ if (!recognize(document, superRegion)) return null;
+
+ String axis = computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ String contentType = superRegion.getContentType();
+ String type = JSP_ROOT_PARTITION;
+ int length = superRegion.getLength();
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ }
+
+ public static String computeAxis(IDocument document, int offset) {
+ String axis = ""; //$NON-NLS-1$
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+ Map trackersMap = getTrackersMap(document, offset);
+
+ IFile file = smw.getFile();
+ XModel xModel = AbstractHyperlink.getXModel(file);
+ ITaglibMapping tm = xModel == null ? null : WebProjectFactory.instance.getWebProject(xModel).getTaglibMapping();
+
+ if (n != null) {
+ if ((n instanceof Element || n instanceof Attr) &&
+ n.getNodeName() != null && n.getNodeName().length() > 0) {
+
+ String name = n.getNodeName();
+
+ // The node name extraction must be done by taking into account 'jsfc' attribute value
+ if (n instanceof Element) {
+ Element e = (Element)n;
+ String jsfcAttrValue = e.getAttribute("jsfc"); //$NON-NLS-1$
+ if (jsfcAttrValue != null && jsfcAttrValue.trim().length() > 0) {
+ name = jsfcAttrValue;
+ }
+ }
+
+ String nodeName = extractName(name, trackersMap, tm);
+ axis = "/" + nodeName; //$NON-NLS-1$
+ }
+ Node parent = (n instanceof Attr)? ((Attr)n).getOwnerElement() : n.getParentNode();
+ while (parent instanceof Element) {
+ // Get the axis part depending on the type and name of node
+ String name = parent.getNodeName();
+
+ // The node name extraction must be done by taking into account 'jsfc' attribute value
+ if (parent instanceof Element) {
+ Element e = (Element)parent;
+ String jsfcAttrValue = e.getAttribute("jsfc"); //$NON-NLS-1$
+ if (jsfcAttrValue != null && jsfcAttrValue.trim().length() > 0) {
+ name = jsfcAttrValue;
+ }
+ }
+
+ String nodeName = extractName(name, trackersMap, tm);
+ if (nodeName != null && nodeName.length() > 0)
+ axis = "/" + nodeName + axis; //$NON-NLS-1$
+ parent = parent.getParentNode();
+ }
+ }
+ } finally {
+ smw.dispose();
+ }
+
+ if (axis == null || axis.length() == 0) axis = ""; //$NON-NLS-1$
+ return axis;
+ }
+
+ public static String extractName (String name, Map trackersMap, ITaglibMapping tm) {
+ if (trackersMap == null || trackersMap.size() == 0) return name;
+ if (name == null) return null;
+ int column = name.indexOf(":"); //$NON-NLS-1$
+ if (column == -1) return name;
+ String prefix = name.substring(0, column);
+ if (prefix == null || prefix.trim().length() == 0) return name;
+
+ String uri = (String)trackersMap.get(prefix);
+ if (uri == null || uri.length() == 0) return name;
+
+ String resolvedUri = (tm == null ? uri : tm.resolveURI(uri));
+
+ return "[" + resolvedUri + "]" + name.substring(column); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ public static Map getTrackersMap(IDocument document, int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ TLDCMDocumentManager manager = TaglibController.getTLDCMDocumentManager(document);
+
+ List trackers = (manager == null? null : manager.getCMDocumentTrackers(offset));
+
+ Map<String,String> map = new HashMap<String,String>();
+ // Find F tracker
+// TaglibTracker fTT = null;
+ for (int i = 0; trackers != null && i < trackers.size(); i++) {
+ TaglibTracker tt = (TaglibTracker)trackers.get(i);
+ String prefix = tt.getPrefix();
+ String uri = tt.getURI();
+ if (prefix != null && prefix.trim().length() > 0 &&
+ uri != null && uri.trim().length() > 0) {
+ map.put(prefix.trim(), uri.trim());
+ }
+ }
+ map = addAlternativeTrackersMap(map, document, offset);
+
+ return map;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ // DONE: alternative trackers map (for use along with xhtml documents)
+ public static Map<String,String> addAlternativeTrackersMap(Map<String,String> map, IDocument document, int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ if (map == null) map = new HashMap<String,String>();
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+ while (n != null) {
+ if (!(n instanceof Element)) {
+ if (n instanceof Attr) {
+ n = ((Attr)n).getOwnerElement();
+ } else {
+ n = n.getParentNode();
+ }
+ continue;
+ }
+
+ NamedNodeMap attrs = n.getAttributes();
+ for (int j = 0; attrs != null && j < attrs.getLength(); j++) {
+ Attr a = (Attr)attrs.item(j);
+ String name = a.getName();
+ if (name.startsWith("xmlns:")) { //$NON-NLS-1$
+ String uri = a.getValue();
+ String prefix = name.substring("xmlns:".length()); //$NON-NLS-1$
+ map.put(prefix.trim(), uri.trim());
+ }
+ }
+
+ n = n.getParentNode();
+ }
+
+ return map;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+
+ if (n == null) return false;
+
+ return true;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPRootHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPStylesheetRelLinkHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPStylesheetRelLinkHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPStylesheetRelLinkHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,237 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * @author Jeremy
+ */
+public class JSPStylesheetRelLinkHyperlinkPartitioner extends AbstractHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ public static final String JSP_STYLESHEET_REL_LINK_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_STYLESHEET_REL_LINK"; //$NON-NLS-1$
+
+ private static final String LINK_TAGNAME = "link"; //$NON-NLS-1$
+ private static final String REL_ATTRNAME = "rel"; //$NON-NLS-1$
+ private static final String VALID_REL_ATTRVALUE = "stylesheet"; //$NON-NLS-1$
+ private static final String HREF_ATTRNAME = "href"; //$NON-NLS-1$
+
+ private static final String IMPORT_DIRECTIVENAME = "@import"; //$NON-NLS-1$
+ private static final String URL_METHODSTART = "url("; //$NON-NLS-1$
+ private static final String URL_METHODEND = ")"; //$NON-NLS-1$
+ private static final String URL_METHODEND_2 = ";"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ if(superRegion == null) return null;
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+// if (!recognize(document, superRegion)) return null;
+ IRegion r = getRegion(document, superRegion.getOffset());
+ if (r == null) return null;
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_STYLESHEET_REL_LINK_PARTITION;
+ int length = r.getLength() - (superRegion.getOffset() - r.getOffset());
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ if(region == null) return false;
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+
+ Attr attr = null;
+ Node tag = null;
+ Text styleText = null;
+
+ if (n instanceof Attr) {
+ attr = (Attr)n;
+ tag = ((Attr)n).getOwnerElement();
+ } else if (n instanceof Element) {
+ tag = n;
+ } else if (n instanceof Text) {
+ styleText = (Text)n;
+ } else
+ return false;
+
+
+ if (attr != null || tag != null) {
+ // do recognize link tag
+ if (!LINK_TAGNAME.equalsIgnoreCase(tag.getNodeName()))
+ return false;
+
+ String linkRel = Utils.getAttributeValue(document, tag, REL_ATTRNAME);
+ if (!VALID_REL_ATTRVALUE.equalsIgnoreCase(linkRel))
+ return false;
+
+ return true;
+ }
+
+ if (styleText == null) return false;
+
+ // do recognize style text
+ int start = Utils.getValueStart(styleText);
+ int current = region.getOffset();
+
+ String text = styleText.getData();
+ if (text == null || text.length() == 0) return false;
+
+ text = text.toLowerCase();
+
+ int importStart = text.lastIndexOf(IMPORT_DIRECTIVENAME.toLowerCase(), current - start);
+ if (importStart == -1)
+ return false;
+
+ int urlMethodStart = text.indexOf(URL_METHODSTART.toLowerCase(), importStart);
+ if (urlMethodStart == -1)
+ return false;
+
+ int urlMethodEnd = text.indexOf(URL_METHODEND.toLowerCase(), urlMethodStart);
+ if (urlMethodEnd == -1)
+ return false;
+
+ int urlMethodEnd2 = text.indexOf(URL_METHODEND_2.toLowerCase(), urlMethodEnd);
+ if (urlMethodEnd2 == -1)
+ return false;
+
+ if (current < start + urlMethodStart + URL_METHODSTART.length() ||
+ current >= start + urlMethodEnd)
+ return false;
+
+ return true;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+ protected IRegion getRegion (IDocument document, int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+
+ if (n == null || !(n instanceof Text || n instanceof Attr)) return null;
+
+ String text = null;
+ int bStart = 0;
+ int bEnd = 0;
+
+ if (n instanceof Text) {
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+
+ if (start < 0 || start > offset) return null;
+
+ text = document.get(start, end - start);
+ bStart = offset - start;
+ bEnd = offset - start;
+ } else if (n instanceof Attr) {
+ Attr attr = (Attr)n;
+ if (!HREF_ATTRNAME.equalsIgnoreCase(attr.getName())) return null;
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if(start < 0) return null;
+
+ text = document.get(start, end - start);
+ bStart = offset - start;
+ bEnd = offset - start;
+ }
+ StringBuffer sb = new StringBuffer(text);
+ //find start of bean property
+ while (bStart >= 0) {
+ if (!Character.isJavaIdentifierPart(sb.charAt(bStart)) &&
+ sb.charAt(bStart) != '\\' && sb.charAt(bStart) != '/' &&
+ sb.charAt(bStart) != ':' && sb.charAt(bStart) != '-' &&
+ sb.charAt(bStart) != '.' && sb.charAt(bStart) != '_' &&
+ sb.charAt(bStart) != '%' && sb.charAt(bStart) != '?' &&
+ sb.charAt(bStart) != '&' && sb.charAt(bStart) != '=') {
+ bStart++;
+ break;
+ }
+
+ if (bStart == 0) break;
+ bStart--;
+ }
+ // find end of bean property
+ while (bEnd >= 0 && bEnd < sb.length()) {
+ if (!Character.isJavaIdentifierPart(sb.charAt(bEnd)) &&
+ sb.charAt(bEnd) != '\\' && sb.charAt(bEnd) != '/' &&
+ sb.charAt(bEnd) != ':' && sb.charAt(bEnd) != '-' &&
+ sb.charAt(bEnd) != '.' && sb.charAt(bEnd) != '_' &&
+ sb.charAt(bEnd) != '%' && sb.charAt(bEnd) != '?' &&
+ sb.charAt(bEnd) != '&' && sb.charAt(bEnd) != '=') {
+ break;
+ }
+ bEnd++;
+ }
+
+ final int propStart = bStart + Utils.getValueStart(n);
+ final int propLength = bEnd - bStart;
+
+ if (propStart > offset || propStart + propLength < offset) return null;
+ return new Region(propStart,propLength);
+ } catch (BadLocationException x) {
+ //ignore
+ return null;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPStylesheetRelLinkHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * @author Jeremy
+ */
+public class JSPTagAttributeHyperlinkPartitioner extends JSPElementAttributeValueHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ public static final String JSP_TAG_ATTRIBUTE_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_TAG_ATTRIBUTE"; //$NON-NLS-1$
+
+ private static final String JSP_ATTRIBUTE_TAGNAME = "jsp:attribute"; //$NON-NLS-1$
+ private static final String JSP_ELEMENT_TAGNAME = "jsp:element"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+ if (n instanceof Attr) n = ((Attr)n).getOwnerElement();
+ if (!(n instanceof Element)) return null;
+
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if(start < 0) return null;
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_TAG_ATTRIBUTE_PARTITION;
+ int length = end - start - (superRegion.getOffset() - start);
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ if(region == null) return false;
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (n instanceof Attr) n = ((Attr)n).getOwnerElement();
+ if (!(n instanceof Element)) return false;
+ return (JSP_ATTRIBUTE_TAGNAME.equals(n.getNodeName()) &&
+ !JSP_ELEMENT_TAGNAME.equals(n.getParentNode().getNodeName()) &&
+ n.getNodeName().indexOf(':') != -1);
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeValueHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeValueHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeValueHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLTagAttributeValueHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public abstract class JSPTagAttributeValueHyperlinkPartitioner extends XMLTagAttributeValueHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTagAttributeValueHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.text.MessageFormat;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.util.FindObjectHelper;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.jboss.tools.jst.web.tld.ITaglibMapping;
+import org.jboss.tools.jst.web.tld.IWebProject;
+import org.jboss.tools.jst.web.tld.WebProjectFactory;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+/**
+ * @author Jeremy
+ */
+public class JSPTaglibHyperlink extends AbstractHyperlink {
+
+ /**
+ * @see com.ibm.sse.editor.AbstractHyperlink#doHyperlink(org.eclipse.jface.text.IRegion)
+ */
+ protected void doHyperlink(IRegion region) {
+ XModelObject object = getFilename(region);
+ if(object != null)
+ FindObjectHelper.findModelObject(object, FindObjectHelper.IN_EDITOR_ONLY);
+ else {
+ openFileFailed();
+ }
+
+ }
+
+ protected final String JAR_FILE_PROTOCOL = "jar:file:/";//$NON-NLS-1$
+
+ /* (non-Javadoc)
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlink#openFileInEditor(java.lang.String)
+ */
+ protected void openFileInEditor(String fileString) {
+ if (fileString.startsWith(JAR_FILE_PROTOCOL)) {
+ fileString = fileString.substring(JAR_FILE_PROTOCOL.length());
+ IEditorInput jarEditorInput = createEditorInput(fileString);
+ IEditorPart part = openFileInEditor(jarEditorInput, fileString);
+ if (part == null) openFileFailed();
+ } else {
+ super.openFileInEditor(fileString);
+ }
+ }
+
+ private XModelObject getFilename(IRegion region) {
+ IFile file = getFile();
+ XModel xModel = getXModel(file);
+ if (xModel == null) return null;
+
+ String uri = getTaglibUri(region);
+ if (uri == null) return null;
+
+ IWebProject wp = WebProjectFactory.instance.getWebProject(xModel);
+ if (wp == null) return null;
+
+ ITaglibMapping tm = wp.getTaglibMapping();
+ if (tm == null) return null;
+
+ return tm.getTaglibObject(uri);
+ }
+
+ private String getTaglibUri(IRegion region) {
+ IStructuredModel model = null;
+ try {
+ model = getModelManager().getExistingModelForRead(getDocument());
+ IDOMDocument xmlDocument = (model instanceof IDOMModel) ? ((IDOMModel) model).getDocument() : null;
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (n instanceof IDOMAttr) n = ((IDOMAttr)n).getOwnerElement();
+ if (!(n instanceof IDOMElement)) return null;
+ if(!"jsp:directive.taglib".equals(n.getNodeName())) return null; //$NON-NLS-1$
+
+ IDOMElement taglib = (IDOMElement)n;
+
+ String uri = taglib.getAttribute("uri"); //$NON-NLS-1$
+ if (uri == null || uri.trim().length() == 0) return null;
+
+ return uri;
+ } finally {
+ if (model != null) model.releaseFromRead();
+ }
+ }
+
+ IRegion fLastRegion = null;
+ /*
+ * (non-Javadoc)
+ *
+ * @seecom.ibm.sse.editor.AbstractHyperlink#doGetHyperlinkRegion(int)
+ */
+ protected IRegion doGetHyperlinkRegion(int offset) {
+ fLastRegion = getRegion(offset);
+ return fLastRegion;
+ }
+
+ private IRegion getRegion(int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(getDocument());
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+ if (n instanceof Attr) n = ((Attr)n).getOwnerElement();
+ if (!(n instanceof IDOMElement)) return null;
+ if (!"jsp:directive.taglib".equals(n.getNodeName())) return null; //$NON-NLS-1$
+
+ IDOMElement taglib = (IDOMElement)n;
+
+ final int taglibLength = taglib.getEndOffset() - taglib.getStartOffset();
+ final int taglibOffset = taglib.getStartOffset();
+
+ return new Region(taglibOffset,taglibLength);
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ String uri = getTaglibUri(fLastRegion);
+ if (uri == null)
+ return MessageFormat.format(Messages.OpenA, Messages.TagLibrary);
+
+ return MessageFormat.format(Messages.OpenTagLibraryForUri, uri);
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+
+/**
+ * @author Jeremy
+ */
+public class JSPTaglibHyperlinkPartitioner extends JSPElementAttributeValueHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ public static final String JSP_TAGLIB_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_TAGLIB"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ if(document == null || superRegion == null) return null;
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+ if (n instanceof Attr) n = ((Attr)n).getOwnerElement();
+ if (!(n instanceof Element)) return null;
+ if (!"jsp:directive.taglib".equals(n.getNodeName())) return null; //$NON-NLS-1$
+
+ int start = Utils.getValueStart(n);
+ int end = Utils.getValueEnd(n);
+ if(start < 0) return null;
+
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_TAGLIB_PARTITION;
+ int length = end - start - (superRegion.getOffset() - start);
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ if(document == null || region == null) return false;
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ smw.init(document);
+ try {
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (n instanceof Attr) n = ((Attr)n).getOwnerElement();
+ if (!(n instanceof Element)) return false;
+ return ("jsp:directive.taglib".equals(n.getNodeName())); //$NON-NLS-1$
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTaglibHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTextHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTextHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTextHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.xml.XMLTextHyperlinkPartitioner;
+
+/**
+ * @author Jeremy
+ */
+public class JSPTextHyperlinkPartitioner extends XMLTextHyperlinkPartitioner {
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPTextHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlink.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlink.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,174 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import java.text.MessageFormat;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.util.FindObjectHelper;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.jboss.tools.jst.web.tld.ITaglibMapping;
+import org.jboss.tools.jst.web.tld.IWebProject;
+import org.jboss.tools.jst.web.tld.WebProjectFactory;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * @author Jeremy
+ */
+public class JSPXmlNsHyperlink extends AbstractHyperlink {
+
+ /**
+ * @see com.ibm.sse.editor.AbstractHyperlink#doHyperlink(org.eclipse.jface.text.IRegion)
+ */
+ protected void doHyperlink(IRegion region) {
+ XModelObject object = getFilename(region);
+ if(object != null) FindObjectHelper.findModelObject(object, FindObjectHelper.IN_EDITOR_ONLY);
+ else {
+ openFileFailed();
+ }
+ }
+
+ protected final String JAR_FILE_PROTOCOL = "jar:file:/";//$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlink#openFileInEditor(java.lang.String)
+ */
+ protected void openFileInEditor(String fileString) {
+ if (fileString.startsWith(JAR_FILE_PROTOCOL)) {
+ fileString = fileString.substring(JAR_FILE_PROTOCOL.length());
+ IEditorInput jarEditorInput = createEditorInput(fileString);
+ IEditorPart part = openFileInEditor(jarEditorInput, fileString);
+ if (part == null) openFileFailed();
+ } else {
+ super.openFileInEditor(fileString);
+ }
+ }
+
+ private XModelObject getFilename(IRegion region) {
+ IFile file = getFile();
+ XModel xModel = getXModel(file);
+ if (xModel == null) return null;
+
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (!(n instanceof IDOMAttr)) return null;
+ Attr xmlnsAttr = (Attr)n;
+ if (xmlnsAttr.getName() == null || !xmlnsAttr.getName().startsWith("xmlns:")) return null; //$NON-NLS-1$
+ Element rootElem = (Element)xmlnsAttr.getOwnerElement();
+ if (!(rootElem.getNodeName().equals("jsp:root") || rootElem.getNodeName().equalsIgnoreCase("html"))) return null; //$NON-NLS-1$ //$NON-NLS-2$
+
+ String uri = xmlnsAttr.getValue();
+ if (uri == null || uri.trim().length() == 0) return null;
+
+ IWebProject wp = WebProjectFactory.instance.getWebProject(xModel);
+ if (wp == null) return null;
+
+ ITaglibMapping tm = wp.getTaglibMapping();
+ if (tm == null) return null;
+ return tm.getTaglibObject(uri);
+ } finally {
+ smw.dispose();
+ }
+ }
+
+ private String getUri(IRegion region) {
+ IFile file = getFile();
+ XModel xModel = getXModel(file);
+ if (xModel == null) return null;
+
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (!(n instanceof IDOMAttr)) return null;
+ Attr xmlnsAttr = (Attr)n;
+ if (xmlnsAttr.getName() == null || !xmlnsAttr.getName().startsWith("xmlns:")) return null; //$NON-NLS-1$
+ Element rootElem = (Element)xmlnsAttr.getOwnerElement();
+ if (!(rootElem.getNodeName().equals("jsp:root") || rootElem.getNodeName().equalsIgnoreCase("html"))) return null; //$NON-NLS-1$ //$NON-NLS-2$
+
+ String uri = xmlnsAttr.getValue();
+ if (uri == null || uri.trim().length() == 0) return null;
+
+ return uri;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+
+ IRegion fLastRegion = null;
+ /**
+ * @seecom.ibm.sse.editor.AbstractHyperlink#doGetHyperlinkRegion(int)
+ */
+ protected IRegion doGetHyperlinkRegion(int offset) {
+ fLastRegion = getRegion(offset);
+ return fLastRegion;
+ }
+
+ private IRegion getRegion(int offset) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(getDocument());
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+
+ Node n = Utils.findNodeForOffset(xmlDocument, offset);
+ if (!(n instanceof IDOMAttr)) return null;
+ IDOMAttr xmlnsAttr = (IDOMAttr)n;
+ if (xmlnsAttr.getName() == null || !xmlnsAttr.getName().startsWith("xmlns:")) return null; //$NON-NLS-1$
+ Element rootElem = xmlnsAttr.getOwnerElement();
+ if (!(rootElem.getNodeName().equals("jsp:root") || rootElem.getNodeName().equalsIgnoreCase("html"))) return null; //$NON-NLS-1$ //$NON-NLS-2$
+
+ final int taglibLength = xmlnsAttr.getValueRegionText().length();
+ final int taglibOffset = xmlnsAttr.getValueRegionStartOffset();
+
+ return new Region(taglibOffset,taglibLength);
+ } finally {
+ smw.dispose();
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see IHyperlink#getHyperlinkText()
+ */
+ public String getHyperlinkText() {
+ String uri = getUri(fLastRegion);
+ if (uri == null)
+ return MessageFormat.format(Messages.NotFound, "URI"); //$NON-NLS-1$
+
+ return MessageFormat.format(Messages.Open, uri);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlinkPartitioner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlinkPartitioner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlinkPartitioner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.hyperlink.jsp;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlinkPartitioner;
+import org.jboss.tools.common.text.ext.hyperlink.HyperlinkRegion;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkPartitionRecognizer;
+import org.jboss.tools.common.text.ext.hyperlink.IHyperlinkRegion;
+import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * @author Jeremy
+ */
+public class JSPXmlNsHyperlinkPartitioner extends AbstractHyperlinkPartitioner implements IHyperlinkPartitionRecognizer {
+ public static final String JSP_XMLNS_PARTITION = "org.jboss.tools.common.text.ext.jsp.JSP_XMLNS"; //$NON-NLS-1$
+
+ /**
+ * @see com.ibm.sse.editor.hyperlink.AbstractHyperlinkPartitioner#parse(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ protected IHyperlinkRegion parse(IDocument document, IHyperlinkRegion superRegion) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return null;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, superRegion.getOffset());
+ if (!(n instanceof IDOMAttr)) return null;
+ IDOMAttr xmlnsAttr = (IDOMAttr)n;
+ if (xmlnsAttr.getName() == null || !xmlnsAttr.getName().startsWith("xmlns:")) return null; //$NON-NLS-1$
+ Element rootElem = xmlnsAttr.getOwnerElement();
+ if (!(rootElem.getNodeName().equals("jsp:root") || rootElem.getNodeName().equalsIgnoreCase("html"))) return null; //$NON-NLS-1$ //$NON-NLS-2$
+ String xmlns = xmlnsAttr.getValueRegionText();
+ String axis = getAxis(document, superRegion);
+ String contentType = superRegion.getContentType();
+ String type = JSP_XMLNS_PARTITION;
+ int length = xmlns.length() - (superRegion.getOffset() - xmlnsAttr.getValueRegionStartOffset());
+ int offset = superRegion.getOffset();
+
+ IHyperlinkRegion region = new HyperlinkRegion(offset, length, axis, contentType, type);
+ return region;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+
+ /**
+ * @see com.ibm.sse.editor.extensions.hyperlink.IHyperlinkPartitionRecognizer#recognize(org.eclipse.jface.text.IDocument, com.ibm.sse.editor.extensions.hyperlink.IHyperlinkRegion)
+ */
+ public boolean recognize(IDocument document, IHyperlinkRegion region) {
+ StructuredModelWrapper smw = new StructuredModelWrapper();
+ try {
+ smw.init(document);
+ Document xmlDocument = smw.getDocument();
+ if (xmlDocument == null) return false;
+
+ Node n = Utils.findNodeForOffset(xmlDocument, region.getOffset());
+ if (!(n instanceof Attr)) return false;
+ Attr xmlnsAttr = (Attr)n;
+ if (xmlnsAttr.getName() == null || !xmlnsAttr.getName().startsWith("xmlns:")) return false; //$NON-NLS-1$
+ Element rootElem = xmlnsAttr.getOwnerElement();
+ if (!(rootElem.getNodeName().equals("jsp:root") || rootElem.getNodeName().equalsIgnoreCase("html"))) return false; //$NON-NLS-1$ //$NON-NLS-2$
+ return true;
+ } finally {
+ smw.dispose();
+ }
+ }
+
+
+ protected String getAxis(IDocument document, IHyperlinkRegion superRegion) {
+ if (superRegion.getAxis() == null || superRegion.getAxis().length() == 0) {
+ return JSPRootHyperlinkPartitioner.computeAxis(document, superRegion.getOffset()) + "/"; //$NON-NLS-1$
+ }
+ return superRegion.getAxis();
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/jsp/JSPXmlNsHyperlinkPartitioner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/CSSTextScanner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/CSSTextScanner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/CSSTextScanner.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,213 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.util;
+
+import java.io.InputStream;
+import java.io.Reader;
+
+import org.eclipse.jface.text.rules.ICharacterScanner;
+import org.eclipse.jface.text.rules.IToken;
+import org.jboss.tools.common.text.ext.util.TextScanner;
+
+/**
+ * @author Jeremy
+ *
+ */
+public class CSSTextScanner extends TextScanner {
+ public static final String CSS_CLASS_NAME = "___css_class_name"; //$NON-NLS-1$
+ public static final String CSS_CLASS_NAME_SEPARATOR = "___css_class_name_separator"; //$NON-NLS-1$
+ public static final String CSS_CLASS_BODY = "___css_class_body"; //$NON-NLS-1$
+ public static final String CSS_CLASS_COMMENT = "___css_class_comment"; //$NON-NLS-1$
+
+ private static final int STATE_START = 0;
+ private static final int STATE_NAME = 1;
+ private static final int STATE_NAME_SEPARATOR = 2;
+ private static final int STATE_BODY = 3;
+ private static final int STATE_COMMENT = 4;
+ private static final int STATE_END = 5;
+
+ private int state;
+ private int savedForCommentState;
+
+ /**
+ * @param stream
+ */
+ public CSSTextScanner(InputStream stream) {
+ super(stream);
+ this.state = STATE_START;
+ }
+ /**
+ * @param reader
+ */
+ public CSSTextScanner(Reader reader) {
+ super(reader);
+ this.state = STATE_START;
+ }
+
+ private void setState(int newState) {
+ if (this.state != STATE_COMMENT)
+ this.savedForCommentState = this.state;
+ this.state = newState;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jsf.text.ext.util.TextScanner#nextToken()
+ */
+ public IToken nextToken() {
+ offset += length;
+ switch (state) {
+ case STATE_START:
+ case STATE_NAME_SEPARATOR:
+ return nextNameSeparatorToken();
+ case STATE_NAME:
+ return nextNameToken();
+ case STATE_BODY:
+ return nextBodyToken();
+ case STATE_COMMENT:
+ return nextCommentToken();
+ }
+ return nextEndToken();
+ }
+
+ private IToken nextNameToken() {
+ // Check first one char in the stream
+ int ch = read();
+ if (ch == ICharacterScanner.EOF) {
+ return getToken(CSS_CLASS_NAME);
+ }
+ if (!NMTOKEN_DETECTOR.isWordStart((char)ch)) {
+ // Emulate END of text
+ clearText();
+ return getToken(CSS_CLASS_NAME);
+ }
+
+ ch = read();
+ int readsCount = 0;
+ while (ch != ICharacterScanner.EOF) {
+ if (!NMTOKEN_DETECTOR.isWordPart((char)ch)) {
+ unread();
+ state = STATE_NAME_SEPARATOR;
+ return getToken(CSS_CLASS_NAME);
+ }
+ readsCount++;
+ ch = read();
+ }
+ return getToken(CSS_CLASS_NAME);
+ }
+
+ private IToken nextNameSeparatorToken() {
+ int count = skipWhitespaceToken();
+ if (count > 0) {
+ state = STATE_NAME_SEPARATOR;
+ return getToken(null);
+ }
+ int ch = read();
+ int readsCount = 0;
+ while (ch != ICharacterScanner.EOF) {
+ if (NMTOKEN_DETECTOR.isWordStart((char)ch)) {
+ unread();
+ state = STATE_NAME;
+ return (readsCount > 0 ? getToken(CSS_CLASS_NAME_SEPARATOR) : nextNameToken());
+ }
+ if (ch == '{') {
+ unread();
+ state = STATE_BODY;
+ return (readsCount > 0 ? getToken(CSS_CLASS_NAME_SEPARATOR) : nextBodyToken());
+ }
+ if (ch == '/') {
+ ch = read();
+ if (ch == ICharacterScanner.EOF) {
+ break;
+ }
+ if (ch == '*') {
+ // Comment openning
+ unread(); // Unread '*'-char
+ unread(); // Unread '/'-char
+ setState(STATE_COMMENT);
+ if (readsCount > 0) {
+ return getToken(CSS_CLASS_NAME_SEPARATOR);
+ } else {
+ return nextCommentToken();
+ }
+ }
+ // Broken file ??? Emulate END of text
+ clearText();
+ return getToken(CSS_CLASS_NAME_SEPARATOR);
+ }
+ readsCount++;
+ ch = read();
+ }
+ state = STATE_END;
+ return getToken(CSS_CLASS_NAME_SEPARATOR);
+ }
+
+ private IToken nextBodyToken() {
+ int level = 0;
+ int ch = read();
+ while (ch != ICharacterScanner.EOF) {
+ if (ch == '{') {
+ level++;
+ } else if (ch == '}') {
+ level--;
+ if (level <= 0) {
+ state = STATE_START;
+ return getToken(CSS_CLASS_BODY);
+ }
+ }
+ if (ch == '/') {
+ ch = read();
+ if (ch == ICharacterScanner.EOF) {
+ break;
+ }
+ if (ch == '*') {
+ // Comment openning
+ unread(); // Unread '*'-char
+ unread(); // Unread '/'-char
+ setState(STATE_COMMENT);
+ return getToken(CSS_CLASS_BODY);
+ }
+ // Broken file ??? Emulate END of text
+ clearText();
+ return getToken(CSS_CLASS_BODY);
+ }
+ ch = read();
+ }
+ state = STATE_END;
+ return getToken(CSS_CLASS_BODY);
+ }
+
+ private IToken nextCommentToken() {
+ int ch = read();
+ while (ch != ICharacterScanner.EOF) {
+ if (ch == '*') {
+ ch = read();
+ if (ch == ICharacterScanner.EOF) break;
+ if (ch == '/') {
+ // Comment closing
+ setState(savedForCommentState);
+ return getToken(CSS_CLASS_COMMENT);
+ }
+ unread(); // Unread last char
+ }
+ ch = read();
+ }
+ setState(savedForCommentState);
+ return getToken(CSS_CLASS_COMMENT);
+ }
+
+ private IToken nextEndToken () {
+ state = STATE_END;
+ // Emulate END of text
+ clearText();
+ return getToken(null);
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/CSSTextScanner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/TaglibManagerWrapper.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/TaglibManagerWrapper.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/TaglibManagerWrapper.java 2009-09-25 15:01:55 UTC (rev 17747)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.text.ext.util;
+
+import java.util.List;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
+
+public class TaglibManagerWrapper {
+ TLDCMDocumentManager manager;
+ List trackers;
+
+ public TaglibManagerWrapper() {}
+
+ public void init(IDocument document, int offset) {
+ manager = TaglibController.getTLDCMDocumentManager(document);
+ if(exists()) {
+ trackers = manager.getCMDocumentTrackers(offset);
+ }
+ }
+
+ public boolean exists() {
+ return manager != null;
+ }
+
+ public String getUri(String prefix) {
+ for (int i = 0; i < trackers.size(); i++) {
+ TaglibTracker tt = (TaglibTracker)trackers.get(i);
+ if (prefix.equals(tt.getPrefix())) {
+ return tt.getURI();
+ }
+ }
+ return null;
+ }
+
+ public String getPrefix(String uri) {
+ for (int i = 0; i < trackers.size(); i++) {
+ TaglibTracker tt = (TaglibTracker)trackers.get(i);
+ if (uri.equals(tt.getURI())) {
+ return tt.getPrefix();
+ }
+ }
+ return null;
+ }
+
+ public String getCorePrefix() {
+ return getPrefix("http://java.sun.com/jsf/core"); //$NON-NLS-1$
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/util/TaglibManagerWrapper.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 1 month