Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Charles David2015-12-15 16:33:54 +0000
committerPierre-Charles David2016-01-08 09:30:09 +0000
commit0d74a8b236315f68628a1ec3d3561cc9c593cbc3 (patch)
tree70a5a43be9b3f8352a5f6c59bd9e03e8374fb759
parentc50cee2f411793d315416004cad8363ef5c8c3c0 (diff)
downloadorg.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>
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusInterpreterProvider.java53
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/SiriusTabDescriptorProvider.java6
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;
}

Back to the top