Author: mareshkau
Date: 2008-04-17 07:22:42 -0400 (Thu, 17 Apr 2008)
New Revision: 7571
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/editor/IVisualContext.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java
Log:
JBIDE-2065
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/editor/IVisualContext.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/editor/IVisualContext.java 2008-04-17
11:20:58 UTC (rev 7570)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/editor/IVisualContext.java 2008-04-17
11:22:42 UTC (rev 7571)
@@ -10,10 +10,14 @@
******************************************************************************/
package org.jboss.tools.jst.jsp.editor;
+import java.util.List;
+
import org.jboss.tools.common.kb.wtp.WtpKbConnector;
+import org.jboss.tools.jst.web.tld.TaglibData;
public interface IVisualContext {
public void refreshBundleValues();
public WtpKbConnector getConnector();
+ public List<TaglibData> getIncludeTaglibs();
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java 2008-04-17
11:20:58 UTC (rev 7570)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java 2008-04-17
11:22:42 UTC (rev 7571)
@@ -197,7 +197,7 @@
public IVisualContext getPageContext() {
if (pageContext == null) {
- pageContext = new SourceEditorPageContext();
+ pageContext = new
SourceEditorPageContext(parentEditor.getVisualEditor().getController().getPageContext());
}
// JBIDE-2046
Runnable runnable = new Runnable() {
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java 2008-04-17
11:20:58 UTC (rev 7570)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java 2008-04-17
11:22:42 UTC (rev 7571)
@@ -47,7 +47,16 @@
* references node
*/
private Node referenceNode = null;
+ /**
+ * Reference page context
+ * @param pageContext
+ */
+ private IVisualContext pageContext;
+ public SourceEditorPageContext(IVisualContext pageContext) {
+ setPageContext(pageContext);
+ }
+
public void clearAll() {
setTaglibs(null);
@@ -78,11 +87,11 @@
*/
public void setDocument(IDocument iDocument) {
- List<TaglibData> taglibs =XmlUtil.getTaglibsForJSPDocument(iDocument);
+ List<TaglibData> taglibs
=XmlUtil.getTaglibsForJSPDocument(iDocument,getIncludeTaglibs());
//if we on jsp page we will set taglibs
//TODO Max Areshkau Find other passability to check if we on jsp page
if(taglibs!=null && taglibs.size()>0) {
- setTaglibs(XmlUtil.getTaglibsForJSPDocument(iDocument));
+ setTaglibs(taglibs);
}
try {
connector =
(WtpKbConnector)KbConnectorFactory.getIntstance().createConnector(KbConnectorType.JSP_WTP_KB_CONNECTOR,
iDocument);
@@ -106,7 +115,7 @@
for(int i=0;i<nodes.getLength();i++) {
Node node =nodes.item(i);
- List<TaglibData> result =XmlUtil.processNode(node);
+ List<TaglibData> result =XmlUtil.processNode(node, getIncludeTaglibs());
if(result!=null&&result.size()>0) {
setTaglibs(result);
break;
@@ -114,7 +123,7 @@
}
} else {
- setTaglibs(XmlUtil.processNode(getReferenceNode()));
+ setTaglibs(XmlUtil.processNode(getReferenceNode(), getIncludeTaglibs()));
}
}
@@ -193,4 +202,23 @@
this.connector = connector;
}
+ /**
+ * @return the pageContext
+ */
+ private IVisualContext getPageContext() {
+ return pageContext;
+ }
+
+ /**
+ * @param pageContext the pageContext to set
+ */
+ private void setPageContext(IVisualContext pageContext) {
+ this.pageContext = pageContext;
+ }
+
+ public List<TaglibData> getIncludeTaglibs() {
+
+ return getPageContext().getIncludeTaglibs();
+ }
+
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java 2008-04-17
11:20:58 UTC (rev 7570)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java 2008-04-17
11:22:42 UTC (rev 7571)
@@ -32,9 +32,9 @@
public class XmlUtil {
- private static final String XMLNS = "xmlns";
+ private static final String XMLNS = "xmlns"; //$NON-NLS-1$
- private static final String XMLNS_WITH_PREFIX = "xmlns:";
+ private static final String XMLNS_WITH_PREFIX = "xmlns:"; //$NON-NLS-1$
public static Element getDocumentElement(String xmlFileName) throws Exception {
FileInputStream inStream = null;
@@ -77,7 +77,7 @@
* @param node
* @return
*/
- public static List<TaglibData> processNode(Node node) {
+ public static List<TaglibData> processNode(Node node, List<TaglibData>
includeTaglibData) {
List<TaglibData> taglibs = new ArrayList<TaglibData>();
@@ -99,6 +99,9 @@
} while(currentNode!=null);
+ for (TaglibData taglibData : includeTaglibData) {
+ addTaglib(taglibs, taglibData.getUri(),taglibData.getPrefix(), true, false);
+ }
return taglibs;
}
@@ -106,7 +109,7 @@
* Finds and returns taglibs for JSP documents
* @return
*/
- public static List<TaglibData> getTaglibsForJSPDocument(IDocument document) {
+ public static List<TaglibData> getTaglibsForJSPDocument(IDocument
document,List<TaglibData> includeTaglibs) {
List<TaglibData> taglibData = new ArrayList<TaglibData>();
@@ -117,6 +120,11 @@
addTaglib(taglibData, taglibTracker.getURI(), taglibTracker.getPrefix(),
true,false);
}
}
+ //add inner taglibs
+ for (TaglibData taglib : includeTaglibs) {
+
+ addTaglib(taglibData, taglib.getUri(), taglib.getPrefix(), true, false);
+ }
return taglibData;
}
/**
@@ -134,7 +142,7 @@
if(XMLNS.equals(name)) {
- name="";
+ name=""; //$NON-NLS-1$
} else {
name=name.substring(XMLNS_WITH_PREFIX.length());