diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/JSPDomAdapter.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/JSPDomAdapter.java | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/JSPDomAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/JSPDomAdapter.java deleted file mode 100644 index 36845dc9f..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/JSPDomAdapter.java +++ /dev/null @@ -1,216 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 Sybase, Inc. 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: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ - -package org.eclipse.jst.jsf.facesconfig.ui.pageflow.util; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jst.jsf.common.ui.internal.logging.Logger; -import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver; -import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.IStructuredDocumentContextResolverFactory2; -import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext; -import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory; -import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin; -import org.eclipse.wst.sse.core.StructuredModelManager; -import org.eclipse.wst.sse.core.internal.provisional.IModelManager; -import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; - -/** - * This class is defined as a simple adapter to JSP DOM model. User can get the - * taglib prefix, and get the needed element by element tage name, and - * namespace(prefix) Usage: User should initialize this class instance before - * using it. Following is a typical example: JSPDomAdapter jspAdapter = new - * JSPDomAdapter(); IFile jspFile = - * ResourcesPlugin.getWorkspace().getRoot().getFile(jspPath); if - * (_jspAdapter.initialize(jspFile)) { //the prefix of JSF HTML TagLib String - * prefix = _jspAdapter.getTagLibPrefix(JSPDomAdapter.JSF_HTML_TAGLIB); } - * - * @author Xiao-guang Zhang - */ -public class JSPDomAdapter { - /** log instance */ - private static final Logger log = EditorPlugin - .getLogger(JSPDomAdapter.class); - - /** JSP Taglib's tag name */ - public static String JSP_TAGLIB_TAG = "jsp:directive.taglib"; //$NON-NLS-1$ - - /** JSF HTML TagLib name */ - public static String JSF_HTML_TAGLIB = "http://java.sun.com/jsf/html"; //$NON-NLS-1$ - - /** singleton model manager */ - private static IModelManager modelManager; - - /** source jsp file */ - private IFile jspFile; - - /** Structured Model of JSP File */ - private IStructuredModel model; - - /** Root Document (Node) of JSP file */ - private Document document; - - /** - * - */ - public JSPDomAdapter() { - super(); - - } - - /** - * initialize this adapter to get the StructuredModel for the input file. - * At last user should call releaseModel() method to release the Structured Model. - * - * @param file - - * JSP file - * @return - True means sucessfully load jsp file. - */ - public boolean initialize(final IFile file) { - jspFile = file; - - if (jspFile != null && jspFile.exists()) { - try { - model = getModel(jspFile); - } catch (final IOException e) { - // PageFlow.JSPDomAdapter.FailToGetStructuredModel = Failed to - // get the structured model - log.error("PageFlow.JSPDomAdapter.FailToGetStructuredModel", e); //$NON-NLS-1$ - } catch (final CoreException e) { - // PageFlow.JSPDomAdapter.FailToGetStructuredModel = Failed to - // get the structured model - log.error("PageFlow.JSPDomAdapter.FailToGetStructuredModel", e);//$NON-NLS-1$ - } - - if (model != null && model instanceof IDOMModel) { - return true; - } - } - - return false; - } - - /** - * get the prefix for the input taglib URI, e.g., - * http://java.sun.com/jsf/html -> "h" - * - * @param taglibURI - * @return the prefix - */ - public String getTagLibPrefix(final String taglibURI) { - String prefix = null; - - final IStructuredDocument sdocument = model.getStructuredDocument(); - - if (sdocument != null) - { - IStructuredDocumentContext context = - IStructuredDocumentContextFactory.INSTANCE.getContext(sdocument, -1); - ITaglibContextResolver resolver = - IStructuredDocumentContextResolverFactory2.INSTANCE.getTaglibContextResolverFromDelegates(context); - prefix = resolver.getTagPrefixForURI(taglibURI); - } - - return prefix; - } - - /** - * get the elements by the namespace and its tag name, e.g., h and - * commandButton. - * - * @param namespace - - * namespace for the taglib, e.g., h for - * http://java.sun.com/jsf/html - * @param elementName - - * element Tag Name, e.g., h - * @return - Element Node list. - */ - public List getElementsByTagNameNS(final String namespace, final String elementName) { - List nodes = null; - - if (getDocument() != null) { - NodeList listNodes = null; - if (namespace != null) { - listNodes = getDocument().getElementsByTagName( - namespace + ":" + elementName); //$NON-NLS-1$ - } else { - listNodes = getDocument().getElementsByTagName(elementName); - } - - if (listNodes != null && listNodes.getLength() > 0) { - nodes = new ArrayList(); - for (int i = 0; i < listNodes.getLength(); i++) { - nodes.add(listNodes.item(i)); - } - } - } - return nodes; - } - - /** - * get the singleton model manager. - * - * @return - */ - private IModelManager getModelManager() { - if (modelManager == null) { - modelManager = StructuredModelManager.getModelManager(); - } - return modelManager; - } - - /** - * get the structured model for the JSP file - * - * @param file - - * JSP File - * @return - IStructuredModel - * @throws IOException - * @throws CoreException - */ - private IStructuredModel getModel(final IFile file) throws IOException, - CoreException { - return getModelManager().getModelForRead(file); - } - - /** - * get the root docuement for the StructuredModel - * - * @return - */ - private Document getDocument() { - if (document == null) { - if (model != null && model instanceof IDOMModel) { - document = ((IDOMModel) model).getDocument(); - } - } - return document; - } - - - /** - * signal we are done with the model - */ - public void releaseModel() { - if (model != null) { - model.releaseFromRead(); - } - } -} |