Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uml/alf/org.eclipse.papyrus.uml.alf.ui/src/org/eclipse/papyrus/uml/alf/ui/contentassist/AlfProposalProvider.java')
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf.ui/src/org/eclipse/papyrus/uml/alf/ui/contentassist/AlfProposalProvider.java163
1 files changed, 0 insertions, 163 deletions
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf.ui/src/org/eclipse/papyrus/uml/alf/ui/contentassist/AlfProposalProvider.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf.ui/src/org/eclipse/papyrus/uml/alf/ui/contentassist/AlfProposalProvider.java
deleted file mode 100644
index d829f2afb80..00000000000
--- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf.ui/src/org/eclipse/papyrus/uml/alf/ui/contentassist/AlfProposalProvider.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
- *
- *
- * 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:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.uml.alf.ui.contentassist;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.papyrus.uml.alf.alf.SuffixExpression;
-import org.eclipse.papyrus.uml.alf.scoping.AlfPartialScope;
-import org.eclipse.papyrus.uml.alf.scoping.AlfScopeProvider;
-import org.eclipse.papyrus.uml.alf.validation.typing.ErrorTypeFacade;
-import org.eclipse.papyrus.uml.alf.validation.typing.SignatureFacadeFactory;
-import org.eclipse.papyrus.uml.alf.validation.typing.TypeExpression;
-import org.eclipse.papyrus.uml.alf.validation.typing.TypeFacade;
-import org.eclipse.papyrus.uml.alf.validation.typing.TypeUtils;
-import org.eclipse.papyrus.uml.xtext.integration.CompletionProposalUtils;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.xtext.Assignment;
-import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
-import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
-
-/**
- * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#contentAssist on how to customize content assistant
- */
-public class AlfProposalProvider extends AbstractAlfProposalProvider {
-
-
- @Override
- public void completeLocalNameDeclarationStatement_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
- // TODO Auto-generated method stub
- AlfPartialScope scope = AlfScopeProvider.scopingTool.getVisibleClassifiers(model);
- new AlfCompletionProposalUtils().classifierProposals(scope, context, acceptor);
- super.completeLocalNameDeclarationStatement_Type(model, assignment, context, acceptor);
- }
-
- @Override
- public void completeOperationCallExpression_OperationName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
- TypeExpression typeOfModel = null;
- if(model instanceof SuffixExpression) {
- if(context.getPrefix().equals("")) {
- typeOfModel = new TypeUtils().getTypeOfCandidateExpression(model);
- } else {
- typeOfModel = new TypeUtils((SuffixExpression)model).getTypeOfCandidateExpression(model.eContainer());
- }
- } else {
- typeOfModel = new TypeUtils().getTypeOfCandidateExpression(model);
- }
- if(typeOfModel == null || typeOfModel.getTypeFacade() instanceof ErrorTypeFacade) {
- super.completeOperationCallExpression_OperationName(model, assignment, context, acceptor);
- } else {
- new AlfCompletionProposalUtils().operationProposals(typeOfModel.getTypeFacade(), context, acceptor);
- super.completeOperationCallExpression_OperationName(model, assignment, context, acceptor);
- }
- }
-
-
- @Override
- public void completePropertyCallExpression_PropertyName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
- TypeExpression typeOfModel = null;
- if(model instanceof SuffixExpression) {
- if(context.getPrefix().equals("")) {
- typeOfModel = new TypeUtils().getTypeOfCandidateExpression(model);
- } else {
- typeOfModel = new TypeUtils((SuffixExpression)model).getTypeOfCandidateExpression(model.eContainer());
- }
- } else {
- typeOfModel = new TypeUtils().getTypeOfCandidateExpression(model);
- }
- if(typeOfModel == null || typeOfModel.getTypeFacade() instanceof ErrorTypeFacade) {
- super.completePropertyCallExpression_PropertyName(model, assignment, context, acceptor);
- } else {
- new AlfCompletionProposalUtils().propertyProposals(typeOfModel.getTypeFacade(), context, acceptor);
- super.completePropertyCallExpression_PropertyName(model, assignment, context, acceptor);
- }
- }
-
-
- /**************************
- *
- * Completion proposal utils
- *
- */
- private class AlfCompletionProposalUtils {
-
- public void classifierProposals(AlfPartialScope scope, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
- for(List<EObject> scopingLevel : scope.getScopeDetails()) {
- String completionString = "";
- String displayString = "";
- Map<String, ICompletionProposal> completionProposals = new HashMap<String, ICompletionProposal>();
- ICompletionProposal proposal = null;
- for(EObject visibleClassifier : scopingLevel) {
- completionString = scope.getElementName(visibleClassifier);
- displayString = "" + completionString;
- if(completionString.startsWith(context.getPrefix())) {
- completionString = completionString.substring(context.getPrefix().length());
- if(completionProposals.get(displayString) == null) {
- completionProposals.put(displayString, proposal);
- proposal = CompletionProposalUtils.createCompletionProposal(completionString, displayString, context);
- acceptor.accept(proposal);
- }
- }
- }
- }
- }
-
- public void operationProposals(TypeFacade f, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
- Classifier c = f.extractActualType();
- String completionString = "";
- String displayString = "";
- Map<String, ICompletionProposal> completionProposals = new HashMap<String, ICompletionProposal>();
- ICompletionProposal proposal = null;
- for(Operation o : c.getAllOperations()) {
- completionString = SignatureFacadeFactory.eInstance.createSignatureFacade(o).getLabel();
- displayString = "" + completionString;
- if(completionString.startsWith(context.getPrefix())) {
- completionString = completionString.substring(context.getPrefix().length());
- if(completionProposals.get(displayString) == null) {
- completionProposals.put(displayString, proposal);
- proposal = CompletionProposalUtils.createCompletionProposal(completionString, displayString, context);
- acceptor.accept(proposal);
- }
- }
- }
- }
-
- public void propertyProposals(TypeFacade f, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
- Classifier c = f.extractActualType();
- String completionString = "";
- String displayString = "";
- Map<String, ICompletionProposal> completionProposals = new HashMap<String, ICompletionProposal>();
- ICompletionProposal proposal = null;
- for(Property p : c.getAllAttributes()) {
- displayString = p.getName() + " : " + (p.getType() == null ? "any" : p.getType().getName());
- completionString = p.getName();
- if(completionString.startsWith(context.getPrefix())) {
- completionString = completionString.substring(context.getPrefix().length());
- if(completionProposals.get(displayString) == null) {
- completionProposals.put(displayString, proposal);
- proposal = CompletionProposalUtils.createCompletionProposal(completionString, displayString, context);
- acceptor.accept(proposal);
- }
- }
- }
- }
- }
-
-}

Back to the top