diff options
Diffstat (limited to 'bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/provisional/contentoutline/XMLLabelProvider.java')
-rw-r--r-- | bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/provisional/contentoutline/XMLLabelProvider.java | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/provisional/contentoutline/XMLLabelProvider.java b/bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/provisional/contentoutline/XMLLabelProvider.java deleted file mode 100644 index cf5c62c187..0000000000 --- a/bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/provisional/contentoutline/XMLLabelProvider.java +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 IBM 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -/** - * - */ -package org.eclipse.wst.jsdt.web.ui.views.provisional.contentoutline; - -import org.eclipse.wst.sse.core.utils.StringUtils; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery; -import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil; -import org.eclipse.wst.xml.ui.internal.contentoutline.JFaceNodeLabelProvider; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; - -/** -* - -* Provisional API: This class/interface is part of an interim API that is still under development and expected to -* change significantly before reaching stability. It is being made available at this early stage to solicit feedback -* from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken -* (repeatedly) as the API evolves. -*/ -public class XMLLabelProvider extends JFaceNodeLabelProvider { - boolean fShowAttributes = false; - - - public String getText(Object o) { - StringBuffer text = new StringBuffer(super.getText(o)); - if (o instanceof Node) { - Node node = (Node) o; - if ((node.getNodeType() == Node.ELEMENT_NODE) && fShowAttributes) { - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=88444 - if (node.hasAttributes()) { - Element element = (Element) node; - NamedNodeMap attributes = element.getAttributes(); - Node idTypedAttribute = null; - Node requiredAttribute = null; - boolean hasId = false; - boolean hasName = false; - Node shownAttribute = null; - // try to get content model element - // declaration - CMElementDeclaration elementDecl = null; - ModelQuery mq = ModelQueryUtil.getModelQuery(element.getOwnerDocument()); - if (mq != null) { - elementDecl = mq.getCMElementDeclaration(element); - } - // find an attribute of type (or just named) - // ID - if (elementDecl != null) { - int i = 0; - while ((i < attributes.getLength()) && (idTypedAttribute == null)) { - Node attr = attributes.item(i); - String attrName = attr.getNodeName(); - CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) elementDecl.getAttributes().getNamedItem(attrName); - if (attrDecl != null) { - if ((attrDecl.getAttrType() != null) && (CMDataType.ID.equals(attrDecl.getAttrType().getDataTypeName()))) { - idTypedAttribute = attr; - } else if ((attrDecl.getUsage() == CMAttributeDeclaration.REQUIRED) && (requiredAttribute == null)) { - // as a backup, keep tabs on - // any required - // attributes - requiredAttribute = attr; - } else { - hasId = hasId || attrName.equals("id"); //$NON-NLS-1$ - hasName = hasName || attrName.equals("name"); //$NON-NLS-1$ - } - } - ++i; - } - } - /* - * If no suitable attribute was found, try using a - * required attribute, if none, then prefer "id" or - * "name", otherwise just use first attribute - */ - if (idTypedAttribute != null) { - shownAttribute = idTypedAttribute; - } else if (requiredAttribute != null) { - shownAttribute = requiredAttribute; - } else if (hasId) { - shownAttribute = attributes.getNamedItem("id"); //$NON-NLS-1$ - } else if (hasName) { - shownAttribute = attributes.getNamedItem("name"); //$NON-NLS-1$ - } - if (shownAttribute == null) { - shownAttribute = attributes.item(0); - } - // display the attribute and value (without quotes) - String attributeName = shownAttribute.getNodeName(); - if ((attributeName != null) && (attributeName.length() > 0)) { - text.append(" " + attributeName); //$NON-NLS-1$ - String attributeValue = shownAttribute.getNodeValue(); - if ((attributeValue != null) && (attributeValue.length() > 0)) { - text.append("=" + StringUtils.strip(attributeValue)); //$NON-NLS-1$ - } - } - } - } - } - return text.toString(); - } -} |