diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/CommandNavigationItemOperation.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/CommandNavigationItemOperation.java | 197 |
1 files changed, 0 insertions, 197 deletions
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 deleted file mode 100644 index 7dc403090..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/CommandNavigationItemOperation.java +++ /dev/null @@ -1,197 +0,0 @@ -/** - * 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; - } - - /** - * Gets display text from a commandNavigationItem Element. - * - * @param srcElement A commmandNavigationItem Element instance. - * @return Display text from a commandNavigationItem Element. - */ - public static 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; - } - - public static 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; - } - - public static boolean isSelected(Element srcElement) { - String selectedAttr = srcElement.getAttribute(ITrinidadConstants.ATTR_SELECTED); - return Boolean.TRUE.toString().equalsIgnoreCase(selectedAttr); - } - -} |