Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoritrimble2009-04-23 21:24:12 +0000
committeritrimble2009-04-23 21:24:12 +0000
commit4f3531d15aa77beca3fe78c26e49a7bf92f38b52 (patch)
tree2c713d2eb4138994b3e1a938d73df85c72fdf980
parentb87bfea06c090fe0402f3e38c5d2c35c81e25ff8 (diff)
downloadwebtools.jsf-4f3531d15aa77beca3fe78c26e49a7bf92f38b52.tar.gz
webtools.jsf-4f3531d15aa77beca3fe78c26e49a7bf92f38b52.tar.xz
webtools.jsf-4f3531d15aa77beca3fe78c26e49a7bf92f38b52.zip
Bug 251638: Feature - Need complete tag library support for Apache MyFaces Trinidad. Add support for "breadCrumbs" and "commandNavigationItem" tags.
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/metadata/trinidad_dti.xml31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/plugin.xml8
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/Messages.java5
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/AbstractTrinidadTransformOperation.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/BreadCrumbsOperation.java112
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/CommandNavigationItemOperation.java191
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/messages.properties1
7 files changed, 376 insertions, 0 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/metadata/trinidad_dti.xml b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/metadata/trinidad_dti.xml
index 8ef49b6b5..e3867c031 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/metadata/trinidad_dti.xml
+++ b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/metadata/trinidad_dti.xml
@@ -6,6 +6,19 @@
id="http://myfaces.apache.org/trinidad"
type="tagFile">
+ <entity id="breadCrumbs" type="tag">
+ <trait id="dt-info">
+ <value xsi:type="dti:DTInfo">
+ <tag-convert-info>
+ <operation id="org.eclipse.jst.jsf.apache.trinidad.tagsupport.BreadCrumbsOperation"/>
+ </tag-convert-info>
+ <tag-decorate-info id="vpd-decorate-design"
+ needBorderDecorator="true"
+ />
+ </value>
+ </trait>
+ </entity>
+
<entity id="chart" type="tag">
<trait id="dt-info">
<value xsi:type="dti:DTInfo">
@@ -269,6 +282,24 @@
</trait>
</entity>
+ <entity id="commandNavigationItem" type="tag">
+ <trait id="dt-info">
+ <value xsi:type="dti:DTInfo">
+ <tag-convert-info>
+ <operation id="org.eclipse.jst.jsf.apache.trinidad.tagsupport.CommandNavigationItemOperation"/>
+ </tag-convert-info>
+ <tag-decorate-info id="vpd-decorate-design"
+ needBorderDecorator="true"
+ multiLevel="true"
+ widget="true"
+ />
+ <tag-decorate-info id="vpd-decorate-preview"
+ resolveChildText="true"
+ />
+ </value>
+ </trait>
+ </entity>
+
<entity id="document" type="tag">
<trait id="dt-info">
<value xsi:type="dti:DTInfo">
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/plugin.xml b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/plugin.xml
index 6d5e12fb3..3c11367b4 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/plugin.xml
+++ b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/plugin.xml
@@ -42,6 +42,14 @@
class="org.eclipse.jst.jsf.apache.trinidad.tagsupport.elementedit.TrinidadCoreElementEditFactory">
</elementEditFactory>
<tagTransformOperation
+ class="org.eclipse.jst.jsf.apache.trinidad.tagsupport.converter.operations.BreadCrumbsOperation"
+ id="BreadCrumbsOperation">
+ </tagTransformOperation>
+ <tagTransformOperation
+ class="org.eclipse.jst.jsf.apache.trinidad.tagsupport.converter.operations.CommandNavigationItemOperation"
+ id="CommandNavigationItemOperation">
+ </tagTransformOperation>
+ <tagTransformOperation
class="org.eclipse.jst.jsf.apache.trinidad.tagsupport.converter.operations.CreateClassAttributeOperation"
id="CreateClassAttributeOperation">
</tagTransformOperation>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/Messages.java
index 65372c1a0..d64c1e635 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/Messages.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/Messages.java
@@ -29,6 +29,11 @@ public class Messages extends NLS {
/**
* See messages.properties.
*/
+ public static String BreadCrumbsOperation_EmptyBreadCrumbsTag;
+
+ /**
+ * See messages.properties.
+ */
public static String PanelTabbedOperation_EmptyPanelTabbedTag;
/**
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/AbstractTrinidadTransformOperation.java b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/AbstractTrinidadTransformOperation.java
index 83e392960..ca8e9eab2 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/AbstractTrinidadTransformOperation.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/AbstractTrinidadTransformOperation.java
@@ -119,4 +119,32 @@ public abstract class AbstractTrinidadTransformOperation extends AbstractTransfo
return children;
}
+ /**
+ * Calculates required style class value, based on a specified base style
+ * class and the value of the source Element instance's "styleClass"
+ * attribute.
+ *
+ * @param baseClass Specified base style class (may be null).
+ * @param srcElement Source Element instance (may be null).
+ * @return Required style class value, to be set as "class" attribute (may
+ * be null).
+ */
+ protected String calculateStyleClass(String baseClass, Element srcElement) {
+ String styleClass = null;
+ if (baseClass != null) {
+ styleClass = baseClass;
+ }
+ if (srcElement != null) {
+ String srcStyleClass = srcElement.getAttribute("styleClass"); //$NON-NLS-1$
+ if (srcStyleClass != null && srcStyleClass.length() > 0) {
+ if (styleClass.length() > 0) {
+ styleClass += "," + srcStyleClass; //$NON-NLS-1$
+ } else {
+ styleClass = srcStyleClass;
+ }
+ }
+ }
+ return styleClass;
+ }
+
}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/BreadCrumbsOperation.java b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/BreadCrumbsOperation.java
new file mode 100644
index 000000000..6d91e145d
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/BreadCrumbsOperation.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright (c) 2009 Oracle Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Oracle Corporation - initial API and implementation
+ */
+package org.eclipse.jst.jsf.apache.trinidad.tagsupport.converter.operations;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.jsf.apache.trinidad.tagsupport.ITrinidadConstants;
+import org.eclipse.jst.jsf.apache.trinidad.tagsupport.Messages;
+import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * ITransformOperation implementation specifically for the "breadCrumbs" JSF
+ * Element.
+ *
+ * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
+ * have been called to provide a valid ITagConverterContext instance prior to
+ * a call to the transform(...) method.
+ *
+ * @author Ian Trimble - Oracle
+ */
+public class BreadCrumbsOperation extends AbstractTrinidadTransformOperation {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
+ */
+ @Override
+ public Element transform(Element srcElement, Element curElement) {
+ Element outerSpan = createElement("span"); //$NON-NLS-1$
+ String styleClass = calculateStyleClass("af_breadCrumbs", srcElement); //$NON-NLS-1$
+ if (styleClass != null) {
+ appendAttribute(outerSpan, "class", styleClass); //$NON-NLS-1$
+ }
+ String style = srcElement.getAttribute("inlineStyle"); //$NON-NLS-1$
+ if (style != null) {
+ appendAttribute(outerSpan, "style", style); //$NON-NLS-1$
+ }
+ List<Element> childCmdNavItems = getChildCmdNavItems(srcElement);
+ int currentChildIndex = 0;
+ int numChildren = childCmdNavItems.size();
+ if (numChildren > 0) {
+ for (Element childCmdNavItem: childCmdNavItems) {
+ Element nobr;
+ if (isVertical(srcElement)) {
+ Element div = appendChildElement("div", outerSpan); //$NON-NLS-1$
+ nobr = appendChildElement("nobr", div); //$NON-NLS-1$
+ appendChildText(getIndentationString(currentChildIndex), nobr);
+ } else {
+ nobr = appendChildElement("nobr", outerSpan); //$NON-NLS-1$
+ }
+ Element innerSpan = appendChildElement("span", nobr); //$NON-NLS-1$
+ tagConverterContext.addChild(
+ childCmdNavItem, new ConvertPosition(innerSpan, 0));
+ if (currentChildIndex < numChildren - 1) {
+ //appendChildText("&nbsp;&nbsp;&gt;&nbsp;&nbsp;", nobr); //$NON-NLS-1$
+ appendChildText("\u00A0 \u003E \u00A0", nobr); //$NON-NLS-1$
+ }
+ currentChildIndex++;
+ }
+ } else {
+ appendAttribute(outerSpan, "style", ITrinidadConstants.STYLE_EMPTYELEMENT); //$NON-NLS-1$
+ appendChildText(Messages.BreadCrumbsOperation_EmptyBreadCrumbsTag, outerSpan);
+ }
+ return outerSpan;
+ }
+
+ private List<Element> getChildCmdNavItems(Element srcElement) {
+ List<Element> childCmdNavItems = new ArrayList<Element>();
+ NodeList childElements = srcElement.getElementsByTagNameNS(ITrinidadConstants.URI_CORE, "commandNavigationItem"); //$NON-NLS-1$$
+ if (childElements != null && childElements.getLength() > 0) {
+ for (int i = 0, len = childElements.getLength(); i < len; i++) {
+ childCmdNavItems.add((Element)childElements.item(i));
+ }
+ } else {
+ Element nodeStampFacet = getChildFacetByName(srcElement, "nodeStamp"); //$NON-NLS-1$
+ if (nodeStampFacet != null) {
+ childElements = nodeStampFacet.getElementsByTagNameNS(ITrinidadConstants.URI_CORE, "commandNavigationItem"); //$NON-NLS-1$
+ if (childElements != null && childElements.getLength() > 0) {
+ for (int i = 0, len = childElements.getLength(); i < len; i++) {
+ childCmdNavItems.add((Element)childElements.item(i));
+ }
+ }
+ }
+ }
+ return childCmdNavItems;
+ }
+
+ private boolean isVertical(Element srcElement) {
+ String orientationAttr = srcElement.getAttribute(ITrinidadConstants.ATTR_ORIENTATION);
+ return "vertical".equalsIgnoreCase(orientationAttr); //$NON-NLS-1$
+ }
+
+ private String getIndentationString(int indentationLevel) {
+ StringBuffer indentation = new StringBuffer(""); //$NON-NLS-1$
+ for (int i = 0; i < indentationLevel; i++) {
+ //indentation.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); //$NON-NLS-1$
+ indentation.append(" \u00A0 \u00A0 \u00A0 \u00A0 \u00A0"); //$NON-NLS-1$
+ }
+ return indentation.toString();
+ }
+
+}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/CommandNavigationItemOperation.java b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/CommandNavigationItemOperation.java
new file mode 100644
index 000000000..aff177097
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/CommandNavigationItemOperation.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) 2009 Oracle Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Oracle Corporation - initial API and implementation
+ */
+package org.eclipse.jst.jsf.apache.trinidad.tagsupport.converter.operations;
+
+import org.eclipse.jst.jsf.apache.trinidad.tagsupport.ITrinidadConstants;
+import org.eclipse.jst.jsf.common.dom.TagIdentifier;
+import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
+import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * ITransformOperation implementation specifically for the
+ * "commandNavigationItem" JSF Element.
+ *
+ * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
+ * have been called to provide a valid ITagConverterContext instance prior to
+ * a call to the transform(...) method.
+ *
+ * @author Ian Trimble - Oracle
+ */
+public class CommandNavigationItemOperation extends AbstractTrinidadTransformOperation {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
+ */
+ @Override
+ public Element transform(Element srcElement, Element curElement) {
+ Element topElement = null;
+ if (isDescendentOf(ITrinidadConstants.TAG_IDENTIFIER_BREADCRUMBS, srcElement)) {
+ topElement = transformForBreadCrumbs(srcElement);
+ } else if (isDescendentOf(ITrinidadConstants.TAG_IDENTIFIER_NAVIGATIONPANE, srcElement)) {
+ Element navPane = getAncestor(ITrinidadConstants.TAG_IDENTIFIER_NAVIGATIONPANE, srcElement);
+ if (navPane != null) {
+ String navPaneHint = navPane.getAttribute("hint"); //$NON-NLS-1$
+ if ("choice".equalsIgnoreCase(navPaneHint)) { //$NON-NLS-1$
+ topElement = transformForNavigationPane_Choice(srcElement);
+ } else {
+ topElement = doDefaultTransform(srcElement);
+ }
+ }
+ } else {
+ topElement = doDefaultTransform(srcElement);
+ }
+ return topElement;
+ }
+
+ private Element transformForBreadCrumbs(Element srcElement) {
+ Element anchor = createElement("a"); //$NON-NLS-1$
+ if (!isDisabledOrLastCmdNavItem(srcElement)) {
+ appendAttribute(anchor, "href", "#"); //$NON-NLS-1$ //$NON-NLS-2$
+ appendAttribute(anchor, "class", "af_breadCrumbs_step"); //$NON-NLS-1$ //$NON-NLS-2$
+ } else {
+ appendAttribute(anchor, "class", "af_breadCrumbs_selected-step"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ appendChildText(getText(srcElement), anchor);
+ return anchor;
+ }
+
+ private Element transformForNavigationPane_Choice(Element srcElement) {
+ Element option = createElement("option"); //$NON-NLS-1$
+ if (isSelected(srcElement)) {
+ appendAttribute(option, "selected", "selected"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ appendChildText(getText(srcElement), option);
+ return option;
+ }
+
+ private Element doDefaultTransform(Element srcElement) {
+ Element anchor = createElement("a"); //$NON-NLS-1$
+ if (!isDisabled(srcElement)) {
+ appendAttribute(anchor, "href", "#"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ appendChildText(getText(srcElement), anchor);
+ return anchor;
+ }
+
+ private boolean isDescendentOf(TagIdentifier tagIdentifier, Element srcElement) {
+ boolean isDescendent = false;
+ if (tagIdentifier != null && srcElement != null) {
+ Node parentNode = srcElement.getParentNode();
+ if (parentNode instanceof Element) {
+ if (tagIdentifier.isSameTagType(
+ TagIdentifierFactory.createDocumentTagWrapper((Element)parentNode))) {
+ isDescendent = true;
+ } else if (IJSFConstants.TAG_IDENTIFIER_FACET.isSameTagType(
+ TagIdentifierFactory.createDocumentTagWrapper((Element)parentNode))) {
+ parentNode = parentNode.getParentNode();
+ if (parentNode instanceof Element) {
+ if (tagIdentifier.isSameTagType(
+ TagIdentifierFactory.createDocumentTagWrapper((Element)parentNode))) {
+ isDescendent = true;
+ }
+ }
+ }
+ }
+ }
+ return isDescendent;
+ }
+
+ private Element getAncestor(TagIdentifier tagIdentifier, Element srcElement) {
+ Element ancestor = null;
+ if (tagIdentifier != null && srcElement != null) {
+ Node parentNode = srcElement.getParentNode();
+ if (parentNode instanceof Element) {
+ if (tagIdentifier.isSameTagType(
+ TagIdentifierFactory.createDocumentTagWrapper((Element)parentNode))) {
+ ancestor = (Element)parentNode;
+ } else if (IJSFConstants.TAG_IDENTIFIER_FACET.isSameTagType(
+ TagIdentifierFactory.createDocumentTagWrapper((Element)parentNode))) {
+ parentNode = parentNode.getParentNode();
+ if (parentNode instanceof Element) {
+ if (tagIdentifier.isSameTagType(
+ TagIdentifierFactory.createDocumentTagWrapper((Element)parentNode))) {
+ ancestor = (Element)parentNode;
+ }
+ }
+ }
+ }
+ }
+ return ancestor;
+ }
+
+ private String getText(Element srcElement) {
+ String text = "commandNavigationItem"; //$NON-NLS-1$
+ if (srcElement != null) {
+ String newText = srcElement.getAttribute(ITrinidadConstants.ATTR_TEXTANDACCESSKEY);
+ if (newText != null && newText.length() > 0) {
+ text = newText;
+ } else {
+ newText = srcElement.getAttribute(ITrinidadConstants.ATTR_TEXT);
+ if (newText != null && newText.length() > 0) {
+ text = newText;
+ } else {
+ newText = srcElement.getAttribute(ITrinidadConstants.ATTR_ACTION);
+ if (newText != null && newText.length() > 0) {
+ text = newText;
+ } else {
+ newText = srcElement.getAttribute(ITrinidadConstants.ATTR_DESTINATION);
+ if (newText != null && newText.length() > 0) {
+ text = newText;
+ }
+ }
+ }
+ }
+ }
+ return text;
+ }
+
+ private boolean isDisabled(Element srcElement) {
+ String disabledAttr = srcElement.getAttribute(ITrinidadConstants.ATTR_DISABLED);
+ return Boolean.TRUE.toString().equalsIgnoreCase(disabledAttr);
+ }
+
+ private boolean isDisabledOrLastCmdNavItem(Element srcElement) {
+ boolean ret = false;
+ String disabledAttr = srcElement.getAttribute(ITrinidadConstants.ATTR_DISABLED);
+ if (Boolean.TRUE.toString().equalsIgnoreCase(disabledAttr)) {
+ ret = true;
+ } else {
+ Node nextSibling = srcElement;
+ while (nextSibling != null) {
+ nextSibling = nextSibling.getNextSibling();
+ if (nextSibling == null) {
+ ret = true;
+ } else {
+ if (nextSibling instanceof Element) {
+ if (TagIdentifierFactory.createDocumentTagWrapper((Element)nextSibling).isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_COMMANDNAVIGATIONITEM)) {
+ break;
+ }
+ }
+ }
+ }
+ }
+ return ret;
+ }
+
+ private boolean isSelected(Element srcElement) {
+ String selectedAttr = srcElement.getAttribute(ITrinidadConstants.ATTR_SELECTED);
+ return Boolean.TRUE.toString().equalsIgnoreCase(selectedAttr);
+ }
+
+}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/messages.properties
index f54e567e1..e882575e0 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/messages.properties
+++ b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/messages.properties
@@ -9,6 +9,7 @@
# Oracle Corporation - initial API and implementation
#
###############################################################################
+BreadCrumbsOperation_EmptyBreadCrumbsTag=Empty breadCrumbs tag - add child commandNavigationItem tags or set nodeStamp facet
PanelTabbedOperation_EmptyPanelTabbedTag=Empty panelTabbed tag - add child showDetailItem tags
ShowDetailItemOperation_EmptyShowDetailItemTag=Empty showDetailItem tag - add children
SelectItemModel_SampleItem1Label=Sample Label 1

Back to the top