diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java deleted file mode 100644 index da8825cf2..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java +++ /dev/null @@ -1,229 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2008 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.designtime.internal.view; - -import java.io.IOException; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jst.jsf.context.IModelContext; -import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory; -import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ITextRegionContextResolver; -import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext; -import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory; -import org.eclipse.jst.jsf.core.internal.JSFCorePlugin; -import org.eclipse.jst.jsf.designtime.context.DTFacesContext; -import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException; -import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException.Cause; -import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry; -import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController; -import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager; -import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker; -import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument; -import org.eclipse.jst.jsp.core.internal.domdocument.DOMModelForJSP; -import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts; -import org.eclipse.wst.sse.core.StructuredModelManager; -import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument; -import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext; -import org.w3c.dom.Element; - -/** - * <p> - * A view definition adapter that adapts JSF view definitions based on the - * standard JSP view description language. - * </p> - * - * @author cbateman - * - */ -public class JSPViewDefnAdapter extends TaglibBasedViewDefnAdapter -{ - JSPViewDefnAdapter(final ITagRegistry tldTagRegistry) - { - super(tldTagRegistry); - } - - @Override - public IDocument getContainer(final DTFacesContext context, - final String viewId) - { - final IResource viewDefn = context.adaptContextObject(); - - if (viewDefn instanceof IFile) - { - final IFile viewDefnFile = (IFile) viewDefn; - IStructuredModel model = null; - try - { - model = - StructuredModelManager.getModelManager() - .getModelForRead(viewDefnFile); - - if (model instanceof DOMModelForJSP) - { - return model.getStructuredDocument(); - } - } - catch (final IOException e) - { - JSFCorePlugin.log(e, "Acquiring model for view root"); //$NON-NLS-1$ - } - catch (final CoreException e) - { - JSFCorePlugin.log(e, "Acquiring model for view root"); //$NON-NLS-1$ - } - finally - { - if (model != null) - { - model.releaseFromRead(); - } - } - } - return null; - } - - @Override - public final String getNamespace(final Element element, - final IDocument doc) - { - final String prefix = element.getPrefix(); - - // TODO: merge back with JSPUtil.findUri() - final TLDCMDocumentManager m = - TaglibController.getTLDCMDocumentManager(doc); - - if (prefix == null || m == null) - { - return null; - } - final List<?> trackers = m.getTaglibTrackers(); - for (final Object name : trackers) - { - final TaglibTracker tracker = (TaglibTracker) name; - if (prefix.equals(tracker.getPrefix())) - { - return tracker.getURI(); - } - } - return null; - } - - - @Override - public DTELExpression getELExpression(final IModelContext genericContext) - throws ViewHandlerException - { - final IStructuredDocumentContext context = - (IStructuredDocumentContext) genericContext - .getAdapter(IStructuredDocumentContext.class); - - if (context == null) - { - throw new ViewHandlerException(Cause.EL_NOT_FOUND); - } - - ITextRegionContextResolver resolver = - IStructuredDocumentContextResolverFactory.INSTANCE - .getTextRegionResolver(context); - - String elText = null; - - if (resolver != null) - { - final String regionType = resolver.getRegionType(); - - if (regionType != null && resolver.matchesRelative(new String[] - { DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE })) - { - // if we are in the EL content, then get the current region - // text - if (DOMJSPRegionContexts.JSP_VBL_CONTENT.equals(regionType)) - { - elText = resolver.getRegionText(); - } - // otherwise, we may be at the end of a content region but - // at - // the beginning of a closing brace so check to see if the - // previous - // region was a VBL_CONTENT - else if (regionType.equals(DOMJSPRegionContexts.JSP_VBL_CLOSE)) - { - final IStructuredDocumentContext previousContext = - resolver.getPreviousContext(); - - final ITextRegionContextResolver prevResolver = - IStructuredDocumentContextResolverFactory.INSTANCE - .getTextRegionResolver(previousContext); - - if (prevResolver != null) - { - if (DOMJSPRegionContexts.JSP_VBL_CONTENT - .equals(prevResolver.getRegionType())) - { - resolver = prevResolver; - elText = prevResolver.getRegionText(); - } - else if (DOMJSPRegionContexts.JSP_VBL_OPEN - .equals(prevResolver.getRegionType())) - { - elText = ""; //$NON-NLS-1$ - } - } - } - } - } - - if (elText != null) - { - final IStructuredDocumentContext elContext = - IStructuredDocumentContextFactory.INSTANCE.getContext( - context.getStructuredDocument(), resolver - .getStartOffset()); - return new DTELExpression(elContext, elText); - } - return null; - } - - @Override - public String getGeneratedIdPrefix() - { - return "_idJsp"; //$NON-NLS-1$ - } - - @Override - public String getPrefix(String namespace, IDocument doc) - { - TLDCMDocumentManager m = TaglibController.getTLDCMDocumentManager(doc); - if (m == null) - return null; - List trackers = m.getTaglibTrackers(); - for (Iterator iter = trackers.iterator(); iter.hasNext();) { - TaglibTracker tracker = (TaglibTracker) iter.next(); - if (namespace.equals(tracker.getURI())) { - return tracker.getPrefix(); - } - - CMDocument cmdoc = tracker.getDocument(); - if (cmdoc instanceof TLDDocument - && namespace.equals(((TLDDocument) cmdoc).getUri())) { - return tracker.getPrefix(); - } - } - return null; - - } -} |