diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java deleted file mode 100644 index 4e7094214..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java +++ /dev/null @@ -1,217 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Oracle Corporation. - * 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: - * Cameron Bateman/Oracle - initial API and implementation - * - ********************************************************************************/ - -package org.eclipse.jst.jsf.designtime.internal.jsp; - -import java.io.IOException; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jst.jsf.common.internal.types.TypeConstants; -import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver; -import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory; -import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver; -import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver; -import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext; -import org.eclipse.jst.jsf.context.symbol.IBoundedJavaTypeDescriptor; -import org.eclipse.jst.jsf.context.symbol.IComponentSymbol; -import org.eclipse.jst.jsf.context.symbol.IMapTypeDescriptor; -import org.eclipse.jst.jsf.context.symbol.ISymbol; -import org.eclipse.jst.jsf.context.symbol.SymbolFactory; -import org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory; -import org.eclipse.jst.jsf.context.symbol.source.IAdditionalContextSymbolInfo; -import org.eclipse.jst.jsf.core.internal.JSFCorePlugin; -import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants; -import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants; -import org.eclipse.jst.jsf.designtime.internal.symbols.ResourceBundleMapSourceFactory; -import org.w3c.dom.Attr; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; - -/** - * @author cbateman - * - */ -public class JSPDefaultSymbolFactory extends AbstractContextSymbolFactory -{ - protected ISymbol internalCreate(String symbolName,int scope,IAdaptable context,List problems, IAdditionalContextSymbolInfo additionInfo) - { - final IStructuredDocumentContext sContext = - (IStructuredDocumentContext) - context.getAdapter(IStructuredDocumentContext.class); - - final IDOMContextResolver domResolver = - IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(sContext); - - if (domResolver != null) - { - final Node curNode = domResolver.getNode(); - - if (curNode instanceof Attr) - { - final Attr attr = (Attr) curNode; - final Node owningElement = attr.getOwnerElement(); - - if (owningElement != null) - { - return handleSymbolCreation(symbolName, sContext, attr, owningElement, problems); - } - } - } - - return null; - } - - - private ISymbol handleSymbolCreation(final String symbolName, - final IStructuredDocumentContext context, - final Attr attr, - final Node owningElement, - final List problems) - { - final ITaglibContextResolver resolver = - IStructuredDocumentContextResolverFactory.INSTANCE.getTaglibContextResolver(context); - - - if (resolver == null - || !resolver.canResolveContext(context)) - { - return null; - } - - final String uri = resolver.getTagURIForNodeName(owningElement); - - // process core taglib - if (ITLDConstants.URI_JSF_CORE.equals(uri)) - { - return handleCoreTags(symbolName, owningElement, attr, context, problems); - } - else if (ITLDConstants.URI_JSF_HTML.equals(uri)) - { - return handleHtmlTags(symbolName, owningElement, attr, context, problems); - } - - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory#supports(org.eclipse.core.runtime.IAdaptable) - */ - public boolean supports(IAdaptable context) - { - return context != null && - context.getAdapter(IStructuredDocumentContext.class) != null; - } - - private ISymbol handleHtmlTags(String symbolName, Node owningElement, Attr attr, IStructuredDocumentContext context, List problems) - { - final String elementName = owningElement.getLocalName(); - final String attrName = attr.getName(); - - if (IJSFConstants.TAG_DATATABLE.equals(elementName)) - { - if (IJSFConstants.ATTR_VAR.equals(attrName)) - { - return DataModelVariableFactory.getInstance() - .createSymbolForDataTableValue(symbolName, (Element) owningElement, context); - } - } - - return null; - } - - private ISymbol handleCoreTags(String symbolName, Node owningElement, Attr attr, IStructuredDocumentContext context, List problems) - { - final String elementName = owningElement.getLocalName(); - - if (IJSFConstants.TAG_LOADBUNDLE.equals(elementName)) - { -// long startTime = System.currentTimeMillis(); - ISymbol symbol = handleLoadBundleTag(symbolName, owningElement, attr, context, problems); - -// long endTime = System.currentTimeMillis(); -// long totalTime = endTime-startTime; - //System.out.println("Loadbundle resolution for symbol "+symbolName+" took: "+totalTime+"ms"); - return symbol; - } - return null; - } - - private ISymbol handleLoadBundleTag(String symbolName, Node owningElement, Attr attr, IStructuredDocumentContext context, List problems) - { - final String attrName = attr.getName(); - if (IJSFConstants.ATTR_VAR.equals(attrName)) - { - final NamedNodeMap attrMap = owningElement.getAttributes(); - final Node baseNameNode = attrMap.getNamedItem(IJSFConstants.ATTR_BASENAME); - - - if (baseNameNode != null) - { - try - { - final IWorkspaceContextResolver wkspaceResolver = - IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context); - IProject project = wkspaceResolver.getProject(); - - if (project == null) - { - throw new RuntimeException("Error acquiring project"); //$NON-NLS-1$ - } - - final Map source = - ResourceBundleMapSourceFactory - .getResourceBundleMapSource(project, baseNameNode.getNodeValue()); - final IMapTypeDescriptor typeDesc = - SymbolFactory.eINSTANCE.createIMapTypeDescriptor(); - typeDesc.setMapSource(source); - final IComponentSymbol symbol = - SymbolFactory.eINSTANCE.createIComponentSymbol(); - symbol.setName(symbolName); - symbol.setTypeDescriptor(typeDesc); - symbol.setDetailedDescription(Messages.getString("JSPDefaultSymbolFactory.Resource.bundle.map.detailedDescription")+baseNameNode.getNodeValue()+"</i>"); //$NON-NLS-1$ //$NON-NLS-2$ - - return symbol; - } - catch (IOException ioe) - { - problems.add(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,Messages.getString("JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable"), ioe)); //$NON-NLS-1$ - } - catch (JavaModelException jme) - { - problems.add(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,Messages.getString("JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable"), jme)); //$NON-NLS-1$ - } - catch (CoreException ce) - { - problems.add(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,Messages.getString("JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable"), ce)); //$NON-NLS-1$ - } - - final IBoundedJavaTypeDescriptor typeDesc = SymbolFactory.eINSTANCE.createIBoundedJavaTypeDescriptor(); - typeDesc.setTypeSignatureDelegate( TypeConstants.TYPE_JAVAOBJECT ); - final IComponentSymbol symbol = SymbolFactory.eINSTANCE.createIComponentSymbol(); - symbol.setName(symbolName); - symbol.setTypeDescriptor(typeDesc); - symbol.setDetailedDescription(Messages.getString("JSPDefaultSymbolFactory.Resource.bundle.map.detailedDescription")+baseNameNode.getNodeValue()+"</i>"); //$NON-NLS-1$ //$NON-NLS-2$ - - return symbol; - } - } - return null; - } -} |