Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java262
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);
- }
- }
-
-}

Back to the top