diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/ViewUtil.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/ViewUtil.java | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/ViewUtil.java b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/ViewUtil.java deleted file mode 100644 index 1429e9366..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/ViewUtil.java +++ /dev/null @@ -1,262 +0,0 @@ -package org.eclipse.jst.jsf.facelet.core.internal.util; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jst.jsf.core.internal.CompositeTagRegistryFactory; -import org.eclipse.jst.jsf.core.internal.CompositeTagRegistryFactory.TagRegistryIdentifier; -import org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager; -import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler; -import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry; -import org.eclipse.jst.jsf.designtime.internal.view.model.TagRegistryFactory.TagRegistryFactoryException; -import org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletRegistryManager.MyRegistryFactory; -import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD; -import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument; -import org.eclipse.jst.jsp.core.taglib.ITaglibRecord; -import org.eclipse.jst.jsp.core.taglib.TaglibIndex; -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; - -/** - * Facelet view utilities - * - * @author cbateman - */ -public final class ViewUtil -{ - private static final String HTMLSOURCE_CONTENT_TYPE_ID = "org.eclipse.wst.html.core.htmlsource"; //$NON-NLS-1$ - private static final String XMLNS = "xmlns"; //$NON-NLS-1$ - - /** - * Warning! This call can be very expensive. Cache results whenever - * possible. - * - * @param project - * @param uri - * @return the tld document for uri in project or null if not found - */ - public static TLDDocument findTLDDocument(final IProject project, - final String uri) - { - final ITaglibRecord[] tldrecs = TaglibIndex - .getAvailableTaglibRecords(project.getFullPath()); - - for (final ITaglibRecord rec : tldrecs) - { - final String matchUri = rec.getDescriptor().getURI(); - if (uri.equals(matchUri)) - { - final CMDocumentFactoryTLD factory = new CMDocumentFactoryTLD(); - return (TLDDocument) factory.createCMDocument(rec); - } - } - return null; - } - - /** - * @param attributes - * @return the set of uri's that declared in attributes - */ - public static Set<Attr> getDeclaredNamespaces(final NamedNodeMap attributes) - { - final Set<Attr> alreadyUsed = new HashSet<Attr>(); - for (int i = 0; i < attributes.getLength(); i++) - { - final Node node = attributes.item(i); - if (XMLNS.equals(node.getNodeName()) - || XMLNS.equals(node.getPrefix())) - { - final String attrValue = node.getNodeValue(); - - if (attrValue != null && !"".equals(attrValue.trim()) //$NON-NLS-1$ - && node instanceof Attr) - { - alreadyUsed.add((Attr) node); - } - } - } - - return alreadyUsed; - } - - /** - * @param attrSet - * @param value - * @return true if attrSet contains an attribute whose value is <i>value</i> - */ - public static boolean hasAttributeValue(final Set<Attr> attrSet, - final String value) - { - for (final Attr attr : attrSet) - { - if (value.equals(attr.getValue())) - { - return true; - } - } - return false; - } - - /** - * @param project - * @return the html source type tag registry for project - */ - public static ITagRegistry getHtmlTagRegistry(final IProject project) - { - final IContentType contentType = Platform.getContentTypeManager() - .getContentType(HTMLSOURCE_CONTENT_TYPE_ID); - final TagRegistryIdentifier id = new TagRegistryIdentifier(project, - contentType); - final ITagRegistry tagRegistry = CompositeTagRegistryFactory - .getInstance().getRegistry(id); - return tagRegistry; - } - - /** - * @param doc - * @return all of the prefixed namespaces defined in doc - */ - public static Map<String, PrefixEntry> getDocumentNamespaces( - final Document doc) - { - final Map<String, PrefixEntry> namespaces = new HashMap<String, PrefixEntry>(); - - final Element rootElement = doc.getDocumentElement(); - - if (rootElement != null) - { - final NamedNodeMap attrs = rootElement.getAttributes(); - for (int i = 0; i < attrs.getLength(); i++) - { - final Attr a = (Attr) attrs.item(i); - final PrefixEntry ns = PrefixEntry.parseNamespace(a); - if (ns != null) - { - namespaces.put(ns._prefix, ns); - } - } - } - return namespaces; - } - - /** - * @param file - * @return true if the file is a Facelet VDL file - */ - public static boolean isFaceletVDLFile(final IFile file) - { - final DesignTimeApplicationManager instance = DesignTimeApplicationManager.getInstance(file.getProject()); - if (instance != null) - { - final IDTViewHandler viewHandler = instance.getViewHandler(); - if (viewHandler != null) - { - return viewHandler.supportsViewDefinition(file); - } - } - return false; - } - - /** - * @param project - * @return the facelet tag registry for the project or null if none. - */ - public static ITagRegistry getTagRegistry(final IProject project) - { - final MyRegistryFactory factory = new MyRegistryFactory(); - - ITagRegistry registry = null; - try - { - registry = factory.createTagRegistry(project); - } - catch (final TagRegistryFactoryException e) - { - // fall-through - } - return registry; - } - /** - * Encapsulates a single namespace/prefix use declaration in an XML document - * @author cbateman - * - */ - public static class PrefixEntry - { - private final String _uri; - private final String _prefix; - - /** - * @param attr - * @return the prefix entry for attr or null - */ - public static PrefixEntry parseNamespace(final Attr attr) - { - final String prefix = attr.getPrefix(); - - if (XMLNS.equals(prefix)) - { - final String prefixName = attr.getLocalName(); - if (prefixName != null) - { - final String uri = attr.getNodeValue(); - - if (uri != null) - { - return new PrefixEntry(uri, prefixName); - } - } - } - - return null; - } - - /** - * @param uri - * @param prefix - */ - public PrefixEntry(final String uri, final String prefix) - { - _uri = uri; - _prefix = prefix; - } - - /** - * @return the namespace uri - */ - public final String getUri() - { - return _uri; - } - - /** - * @return the namespace prefix - */ - public final String getPrefix() - { - return _prefix; - } - - @Override - public int hashCode() - { - return _uri.hashCode(); - } - - @Override - public boolean equals(final Object obj) - { - return _uri.equals(obj); - } - } - -} |