diff options
| author | Pierre-Charles David | 2015-12-15 16:33:54 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2016-01-08 09:30:09 +0000 |
| commit | 0d74a8b236315f68628a1ec3d3561cc9c593cbc3 (patch) | |
| tree | 70a5a43be9b3f8352a5f6c59bd9e03e8374fb759 | |
| parent | c50cee2f411793d315416004cad8363ef5c8c3c0 (diff) | |
| download | org.eclipse.sirius-0d74a8b236315f68628a1ec3d3561cc9c593cbc3.tar.gz org.eclipse.sirius-0d74a8b236315f68628a1ec3d3561cc9c593cbc3.tar.xz org.eclipse.sirius-0d74a8b236315f68628a1ec3d3561cc9c593cbc3.zip | |
[482993] Remove the unnecessary indirections of IInterpreterProvider and CompoundInterpreter
Bug: 482993
Change-Id: I4ce8eca8fe4f784c0fb82fb314c46ee2fc55516f
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
2 files changed, 3 insertions, 56 deletions
diff --git a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusInterpreterProvider.java b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusInterpreterProvider.java deleted file mode 100644 index 4f15211897..0000000000 --- a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusInterpreterProvider.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Obeo. - * 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: - * Obeo - initial API and implementation - *******************************************************************************/ -package org.eclipse.sirius.ui.properties.internal; - -import org.eclipse.sirius.business.api.session.Session; -import org.eclipse.sirius.common.interpreter.api.IInterpreter; -import org.eclipse.sirius.common.interpreter.api.IInterpreterProvider; -import org.eclipse.sirius.common.tools.api.interpreter.IInterpreterWithDiagnostic; - -import com.google.common.base.Preconditions; - -/** - * Provides an {@link IInterpreter} suitable to the EEF runtime backed by a - * specific Sirius session's interpreter. The resulting interpreter allows EEF - * to evaluate interpreted expressions in the context of a Sirius session. - */ -public class SiriusInterpreterProvider implements IInterpreterProvider { - - private final Session session; - - /** - * Creates a new interpreter provider. - * - * @param session - */ - public SiriusInterpreterProvider(Session session) { - this.session = Preconditions.checkNotNull(session); - } - - @Override - public boolean canHandle(String expression) { - org.eclipse.sirius.common.tools.api.interpreter.IInterpreter interpreter = this.session.getInterpreter(); - return interpreter != null && interpreter.provides(expression); - } - - @Override - public IInterpreter createInterpreter() { - org.eclipse.sirius.common.tools.api.interpreter.IInterpreter interpreter = this.session.getInterpreter(); - if (interpreter instanceof IInterpreterWithDiagnostic) { - IInterpreterWithDiagnostic interpreterWithDiagnostic = (IInterpreterWithDiagnostic) interpreter; - return new SiriusInterpreter(interpreterWithDiagnostic); - } - return null; - } -} diff --git a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java index eb4e2c23e4..fdbccb1c0d 100644 --- a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java +++ b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java @@ -26,7 +26,8 @@ import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.sirius.business.api.query.EObjectQuery; import org.eclipse.sirius.business.api.session.Session; -import org.eclipse.sirius.common.interpreter.api.IInterpreterProvider; +import org.eclipse.sirius.common.interpreter.api.VariableManagerFactory; +import org.eclipse.sirius.common.interpreter.api.IVariableManager; import org.eclipse.sirius.properties.ViewExtensionDescription; import org.eclipse.sirius.viewpoint.description.Group; import org.eclipse.sirius.viewpoint.description.Viewpoint; @@ -83,8 +84,7 @@ public class SiriusTabDescriptorProvider implements ITabDescriptorProvider { private EEFView createEEFView(Session session, EObject semanticElement, EEFViewDescription viewDescription) { IVariableManager variableManager = new VariableManagerFactory().createVariableManager(); variableManager.put(EEFExpressionUtils.SELF, semanticElement); - List<IInterpreterProvider> interpreterProviders = Lists.<IInterpreterProvider> newArrayList(new SiriusInterpreterProvider(session)); - EEFView eefView = new EEFViewFactory().createEEFView(viewDescription, variableManager, interpreterProviders, session.getTransactionalEditingDomain(), semanticElement); + EEFView eefView = new EEFViewFactory().createEEFView(viewDescription, variableManager, new SiriusInterpreter(session), session.getTransactionalEditingDomain(), semanticElement); return eefView; } |
