Author: dmaliarevich
Date: 2009-03-25 09:45:30 -0400 (Wed, 25 Mar 2009)
New Revision: 14326
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlImportTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlUrlTemplate.java
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/util/Jstl.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/templates/vpe-templates-jstl.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-3548, jstl core temlates were added.
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/META-INF/MANIFEST.MF 2009-03-25
13:34:50 UTC (rev 14325)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/META-INF/MANIFEST.MF 2009-03-25
13:45:30 UTC (rev 14326)
@@ -14,6 +14,7 @@
org.eclipse.core.resources,
org.jboss.tools.jst.jsp,
org.mozilla.xpcom
-Export-Package: org.jboss.tools.jsf.vpe.facelets
+Export-Package: org.jboss.tools.jsf.vpe.facelets,
+ org.jboss.tools.jsf.vpe.facelets.template
Bundle-Version: 2.1.0
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java 2009-03-25
13:34:50 UTC (rev 14325)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java 2009-03-25
13:45:30 UTC (rev 14326)
@@ -55,40 +55,54 @@
public VpeCreationData create(VpePageContext pageContext, Node sourceNode,
nsIDOMDocument visualDocument) {
String fileName = ((Element)sourceNode).getAttribute(Facelets.ATTR_TEMPLATE);
- if (fileName != null && fileName.trim().length() > 0) {
- IFile file = VpeCreatorUtil.getFile(fileName, pageContext);
- if (file != null) {
- if (!pageContext.getVisualBuilder().isFileInIncludeStack(file)) {
- registerDefine(pageContext, sourceNode);
- Document document = pageContext.getVisualBuilder().getIncludeDocuments().get(file);
- if (document == null) {
- document = VpeCreatorUtil.getDocumentForRead(file);
- if (document != null)
- pageContext.getVisualBuilder().getIncludeDocuments().put(file, document);
- }
- //Document document = VpeCreatorUtil.getDocumentForRead(file, pageContext);
- if (document != null) {
- VpeCreationData creationData = createInclude(document,
- visualDocument);
- creationData.setData(new TemplateFileInfo(file));
- pageContext.getVisualBuilder().pushIncludeStack(
- new VpeIncludeInfo((Element) sourceNode, file,
- document));
- //we should add only real nodem, sourceNode can be a proxy
- //so
- if(sourceNode.getFirstChild()!=null) {
- defineContainer.add(sourceNode.getFirstChild().getParentNode());
- }
- return creationData;
- }
- }
- }
+ VpeCreationData creationData = createTemplate(fileName, pageContext, sourceNode,
visualDocument);
+ if (null != creationData) {
+ return creationData;
}
- VpeCreationData creationData = createStub(fileName, (Element)sourceNode,
visualDocument);
+ creationData = createStub(fileName, (Element)sourceNode, visualDocument);
creationData.setData(null);
return creationData;
}
+ public VpeCreationData createTemplate(String fileName, VpePageContext pageContext,
+ Node sourceNode, nsIDOMDocument visualDocument) {
+ if (fileName != null && fileName.trim().length() > 0) {
+ IFile file = VpeCreatorUtil.getFile(fileName, pageContext);
+ if (file != null) {
+ if (!pageContext.getVisualBuilder().isFileInIncludeStack(file)) {
+ registerDefine(pageContext, sourceNode);
+ Document document = pageContext.getVisualBuilder()
+ .getIncludeDocuments().get(file);
+ if (document == null) {
+ document = VpeCreatorUtil.getDocumentForRead(file);
+ if (document != null)
+ pageContext.getVisualBuilder()
+ .getIncludeDocuments().put(file, document);
+ }
+ // Document document =
+ // VpeCreatorUtil.getDocumentForRead(file, pageContext);
+ if (document != null) {
+ VpeCreationData creationData = createInclude(document,
+ visualDocument);
+ creationData.setData(new TemplateFileInfo(file));
+ pageContext.getVisualBuilder().pushIncludeStack(
+ new VpeIncludeInfo((Element) sourceNode, file,
+ document));
+ // we should add only real nodem, sourceNode can be a
+ // proxy
+ // so
+ if (sourceNode.getFirstChild() != null) {
+ defineContainer.add(sourceNode.getFirstChild()
+ .getParentNode());
+ }
+ return creationData;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
private String replacePattern(String origStr, String target,
String replacement) {
StringBuilder sb = new StringBuilder();
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/META-INF/MANIFEST.MF 2009-03-25
13:34:50 UTC (rev 14325)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/META-INF/MANIFEST.MF 2009-03-25
13:45:30 UTC (rev 14326)
@@ -15,7 +15,8 @@
org.eclipse.jst.jsp.core,
org.eclipse.wst.html.core,
org.jboss.tools.vpe.html,
- org.jboss.tools.jsf.vpe.jsf;bundle-version="2.1.0"
+ org.jboss.tools.jsf.vpe.jsf;bundle-version="2.1.0",
+ org.jboss.tools.jsf.vpe.facelets;bundle-version="2.1.0"
Eclipse-LazyStart: true
Export-Package: org.jboss.tools.jsf.vpe.jstl.template
Bundle-Localization: plugin
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlImportTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlImportTemplate.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlImportTemplate.java 2009-03-25
13:45:30 UTC (rev 14326)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * 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.jsf.vpe.jstl.template;
+
+import org.jboss.tools.jsf.vpe.facelets.template.VpeDecorateTemplate;
+import org.jboss.tools.jsf.vpe.jstl.template.util.Jstl;
+import org.jboss.tools.vpe.editor.context.VpePageContext;
+import org.jboss.tools.vpe.editor.template.VpeCreationData;
+import org.mozilla.interfaces.nsIDOMDocument;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class JstlImportTemplate extends VpeDecorateTemplate {
+
+ public VpeCreationData create(VpePageContext pageContext, Node sourceNode,
+ nsIDOMDocument visualDocument) {
+ String fileName = ((Element)sourceNode).getAttribute(Jstl.ATTR_URL);
+ VpeCreationData creationData = createTemplate(fileName, pageContext, sourceNode,
visualDocument);
+ if (null != creationData) {
+ return creationData;
+ }
+ creationData = createStub(fileName, (Element)sourceNode, visualDocument);
+ creationData.setData(null);
+ return creationData;
+ }
+
+}
Property changes on:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlImportTemplate.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlUrlTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlUrlTemplate.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlUrlTemplate.java 2009-03-25
13:45:30 UTC (rev 14326)
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * 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.jsf.vpe.jstl.template;
+
+import org.jboss.tools.vpe.editor.context.VpePageContext;
+import org.jboss.tools.vpe.editor.template.VpeAbstractTemplate;
+import org.jboss.tools.vpe.editor.template.VpeCreationData;
+import org.jboss.tools.vpe.editor.util.HTML;
+import org.jboss.tools.vpe.editor.util.VisualDomUtil;
+import org.mozilla.interfaces.nsIDOMDocument;
+import org.mozilla.interfaces.nsIDOMElement;
+import org.mozilla.interfaces.nsIDOMText;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * Class for c:url template
+ *
+ * @author dmaliarevich
+ *
+ */
+public class JstlUrlTemplate extends VpeAbstractTemplate {
+
+ public JstlUrlTemplate() {
+ super();
+ }
+
+ public VpeCreationData create(VpePageContext pageContext, Node sourceNode,
+ nsIDOMDocument visualDocument) {
+ Element sourceElement = (Element) sourceNode;
+ String value = sourceElement.getAttribute(HTML.ATTR_VALUE);
+ nsIDOMElement span = VisualDomUtil.createBorderlessContainer(visualDocument);
+ nsIDOMText urlText = visualDocument.createTextNode(value);
+ span.appendChild(urlText);
+ VpeCreationData creationData = new VpeCreationData(span);
+
+ return creationData;
+ }
+
+}
Property changes on:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/JstlUrlTemplate.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/util/Jstl.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/util/Jstl.java 2009-03-25
13:34:50 UTC (rev 14325)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/src/org/jboss/tools/jsf/vpe/jstl/template/util/Jstl.java 2009-03-25
13:45:30 UTC (rev 14326)
@@ -29,4 +29,6 @@
public static final String ATTR_ADD_CONTROL_LABEL = "addControlLabel";
//$NON-NLS-1$
public static final String TAG_OUT = "out"; //$NON-NLS-1$
+
+ public static final String ATTR_URL = "url"; //$NON-NLS-1$
}
\ No newline at end of file
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/templates/vpe-templates-jstl.xml
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/templates/vpe-templates-jstl.xml 2009-03-25
13:34:50 UTC (rev 14325)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jstl/templates/vpe-templates-jstl.xml 2009-03-25
13:45:30 UTC (rev 14326)
@@ -2,8 +2,79 @@
<vpe:templates
xmlns:vpe="http://org.jboss.org/tools/vpe/template"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <vpe:template-taglib
uri="http://java.sun.com/jsp/jstl/core"
prefix="c" />
<vpe:template-taglib
uri="http://java.sun.com/jstl/core"
prefix="c" />
+ <vpe:tag name="c:catch" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes">
+ <div />
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:choose" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes">
+ <div />
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:when" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes">
+ <div />
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:otherwise" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes">
+ <div />
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:if" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes">
+ <div />
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:import" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes"
+ class="org.jboss.tools.jsf.vpe.jstl.template.JstlImportTemplate">
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:forEach" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes">
+ <div />
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:forTokens" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes">
+ <div />
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="c:param" case-sensitive="yes">
+ <vpe:template children="no" modify="no" />
+ </vpe:tag>
+
+ <vpe:tag name="c:redirect" case-sensitive="yes">
+ <vpe:template children="no" modify="no" />
+ </vpe:tag>
+
+ <vpe:tag name="c:remove" case-sensitive="yes">
+ <vpe:template children="no" modify="no" />
+ </vpe:tag>
+
+ <vpe:tag name="c:set" case-sensitive="yes">
+ <vpe:template children="no" modify="no" />
+ </vpe:tag>
+
+ <vpe:tag name="c:url" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes"
+ class="org.jboss.tools.jsf.vpe.jstl.template.JstlUrlTemplate">
+ </vpe:template>
+ </vpe:tag>
+
<vpe:tag name="c:out" case-sensitive="yes">
<vpe:template children="no" modify="no"
class="org.jboss.tools.jsf.vpe.jstl.template.JstlOutTemplate">
@@ -11,9 +82,10 @@
</vpe:textFormatting>
</vpe:template>
</vpe:tag>
-
- <!-- Default template -->
+
+ <!-- Default template
<vpe:template children="yes" modify="no">
- <vpe:any value="{name()}" title="{tagstring()}"/>
+ <vpe:any value="{name()}" title="{tagstring()}" />
</vpe:template>
+ -->
</vpe:templates>
\ No newline at end of file