Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java169
1 files changed, 0 insertions, 169 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java
deleted file mode 100644
index f965d8ce5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java
+++ /dev/null
@@ -1,169 +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.core.internal.contentassist.el;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.provider.IContentProposalProvider;
-import org.eclipse.jst.jsf.context.symbol.provider.ProposalCreationFactoryAdapter;
-import org.eclipse.jst.jsf.context.symbol.provider.IContentProposalProvider.IProposalCreationFactory;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.designtime.resolver.StructuredDocumentSymbolResolverFactory;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A strategy for getting completions for EL id completions like:
- *
- * var
- * ^
- *
- * @author cbateman
- *
- */
-class IdCompletionStrategy extends ContentAssistStrategy
-{
-
- /**
- * Construct a strategy for completing an ID completion
- *
- * @param prefixValue
- * @param proposalStart - the part of the proposal which was already typed when user invoked autocomplete
- */
- public IdCompletionStrategy(final String prefixValue, String proposalStart)
- {
- super(ContentAssistStrategy.PREFIX_TYPE_ID_COMPLETION, prefixValue, proposalStart);
- }
-
- /**
- * @see org.eclipse.jst.jsf.core.internal.contentassist.el.ContentAssistStrategy#getProposals(org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext)
- */
- public List<ICompletionProposal> getProposals(IStructuredDocumentContext context)
- {
- final List<ICompletionProposal> completionList = new ArrayList<ICompletionProposal>();
- final IWorkspaceContextResolver workspaceResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.
- getWorkspaceContextResolver(context);
-
- final IFile iFile = (IFile) workspaceResolver.getResource();
-
- ISymbol[] symbols = null;
-
- if (iFile != null)
- {
- final ISymbolContextResolver symbolResolver =
- StructuredDocumentSymbolResolverFactory.getInstance().
- getSymbolContextResolver(context);
-
- symbols = symbolResolver.getAllVariables();
- }
-
- final ComposedAdapterFactory factory =
- new ComposedAdapterFactory(ComposedAdapterFactory.
- Descriptor.Registry.INSTANCE);
-
- final IProposalCreationFactory creationInfo =
- new MyProposalFactory(context.getDocumentPosition(), getProposalStart().length());
-
- for (int i = 0; symbols != null && i < symbols.length; i++)
- {
- final ISymbol symbol = symbols[i];
-
- final Object adapter =
- factory.adapt(symbol, IContentProposalProvider.class);
-
- if (adapter instanceof IContentProposalProvider)
- {
- final IContentProposalProvider provider =
- (IContentProposalProvider) adapter;
- final ICompletionProposal[] proposal =
- provider.getProposals(symbol, creationInfo);
- if (proposal != null)
- {
- addProposalsMatchingProposalStart(completionList, proposal);
- }
- }
- }
-
- return Collections.unmodifiableList(completionList);
- }
-
- private static class MyProposalFactory extends ProposalCreationFactoryAdapter
- {
- private final static int HIGH_RELEVANCE = 2;
- private final static int NORMAL_RELEVANCE = 1;
- private final static int LOW_RELEVANCE = 0;
-
- /**
- * @param replacementOffset
- * @param replacementLength
- */
- public MyProposalFactory(int replacementOffset, int replacementLength)
- {
- /*TODO I changed the meaning of "replacementLength" from "number of chars AFTER cursor to be
- * replaced" to "number of chars BEFORE cursor to be replaced. Since "replacementLength"
- * has always been 0 (constructor is only called by IdCompletionStrategy.getProposals()),
- * this should not change anything, but I don't know if there have been different plans
- * for "replacementLength".
- * TODO Maybe this change should be done in the super class instead?
- */
- super(replacementOffset - replacementLength, replacementLength);
- }
-
- public ICompletionProposal createProposal(final String replacementText,
- final String displayText,
- final String additionalText,
- final Image displayImage,
- final Object targetObject)
- {
- return createDefaultProposal(replacementText, _replacementOffset,
- _replacementLength,
- replacementText.length(), displayImage,
- displayText, null, additionalText,
- getRelevance(targetObject));
- }
-
- private int getRelevance(Object target)
- {
- // put tag vars at top, followed by beans, then implicits and other
- if (target instanceof IInstanceSymbol)
- {
- final IInstanceSymbol symbol = (IInstanceSymbol) target;
-
- switch (symbol.getRuntimeSource().getValue())
- {
- case ERuntimeSource.TAG_INSTANTIATED_SYMBOL:
- return HIGH_RELEVANCE;
- case ERuntimeSource.MANAGED_BEAN_SYMBOL:
- return NORMAL_RELEVANCE;
- case ERuntimeSource.BUILT_IN_SYMBOL:
- case ERuntimeSource.OTHER:
- return LOW_RELEVANCE;
- }
- }
-
- // if none of the above, return low relevance
- return LOW_RELEVANCE;
- }
- }
-}

Back to the top