Search in sources :

Example 6 with Expression

use of org.eclipse.core.expressions.Expression in project eclipse.platform.runtime by eclipse.

the class ExpressionTests method testDefinitionExpression.

public void testDefinitionExpression() throws Exception {
    IExtensionRegistry registry = Platform.getExtensionRegistry();
    IConfigurationElement[] ces = registry.getConfigurationElementsFor("org.eclipse.core.expressions", "definitions");
    IConfigurationElement expr = findExtension(ces, "org.eclipse.core.expressions.tests.activeProblemsView");
    assertNotNull(expr);
    Expression probExpr = ExpressionConverter.getDefault().perform(expr.getChildren()[0]);
    EvaluationContext context = new EvaluationContext(null, Collections.EMPTY_LIST);
    try {
        probExpr.evaluate(context);
        fail("Should report error with no variable");
    } catch (CoreException e) {
    // correct, throw exception
    }
    context.addVariable("activePartId", "org.eclipse.ui.views.TasksView");
    assertEquals(EvaluationResult.FALSE, probExpr.evaluate(context));
    context.addVariable("activePartId", "org.eclipse.ui.views.ProblemsView");
    assertEquals(EvaluationResult.TRUE, probExpr.evaluate(context));
}
Also used : CoreException(org.eclipse.core.runtime.CoreException) AndExpression(org.eclipse.core.internal.expressions.AndExpression) SystemTestExpression(org.eclipse.core.internal.expressions.SystemTestExpression) ResolveExpression(org.eclipse.core.internal.expressions.ResolveExpression) OrExpression(org.eclipse.core.internal.expressions.OrExpression) Expression(org.eclipse.core.expressions.Expression) IterateExpression(org.eclipse.core.internal.expressions.IterateExpression) EnablementExpression(org.eclipse.core.internal.expressions.EnablementExpression) InstanceofExpression(org.eclipse.core.internal.expressions.InstanceofExpression) CountExpression(org.eclipse.core.internal.expressions.CountExpression) WithExpression(org.eclipse.core.internal.expressions.WithExpression) NotExpression(org.eclipse.core.internal.expressions.NotExpression) AdaptExpression(org.eclipse.core.internal.expressions.AdaptExpression) EqualsExpression(org.eclipse.core.internal.expressions.EqualsExpression) TestExpression(org.eclipse.core.internal.expressions.TestExpression) IEvaluationContext(org.eclipse.core.expressions.IEvaluationContext) EvaluationContext(org.eclipse.core.expressions.EvaluationContext) IConfigurationElement(org.eclipse.core.runtime.IConfigurationElement) IExtensionRegistry(org.eclipse.core.runtime.IExtensionRegistry)

Example 7 with Expression

use of org.eclipse.core.expressions.Expression in project eclipse.platform.runtime by eclipse.

the class ReferenceExpression method collectExpressionInfo.

@Override
public void collectExpressionInfo(ExpressionInfo info) {
    Expression expr;
    try {
        expr = getDefinitionRegistry().getExpression(fDefinitionId);
    } catch (CoreException e) {
        // expression info can be collected.
        return;
    }
    expr.collectExpressionInfo(info);
}
Also used : CoreException(org.eclipse.core.runtime.CoreException) Expression(org.eclipse.core.expressions.Expression)

Example 8 with Expression

use of org.eclipse.core.expressions.Expression in project polymap4-core by Polymap4.

the class CustomAndExpression method evaluate.

public EvaluationResult evaluate(IEvaluationContext scope) {
    if (fExpressions == null) {
        return EvaluationResult.TRUE;
    }
    NavigatorPlugin.Evaluator evaluator = new NavigatorPlugin.Evaluator();
    EvaluationResult result = EvaluationResult.TRUE;
    for (Iterator iter = fExpressions.iterator(); iter.hasNext(); ) {
        Expression expression = (Expression) iter.next();
        evaluator.expression = expression;
        evaluator.scope = scope;
        SafeRunner.run(evaluator);
        result = result.and(evaluator.result);
        // that we find a false which will result in a better result.
        if (result == EvaluationResult.FALSE) {
            return result;
        }
    }
    return result;
}
Also used : Expression(org.eclipse.core.expressions.Expression) Iterator(java.util.Iterator) EvaluationResult(org.eclipse.core.expressions.EvaluationResult)

Example 9 with Expression

use of org.eclipse.core.expressions.Expression in project tdi-studio-se by Talend.

the class TalendLaunchShortcutAction method updateEnablement.

/**
     * Since these actions are re-created each time the run/debug as menu is filled, the enablement of this action is
     * static.
     */
private void updateEnablement() {
    // IWorkbenchWindow wb = DebugUIPlugin.getActiveWorkbenchWindow();
    IWorkbenchWindow wb = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    boolean enabled = false;
    if (wb != null) {
        IWorkbenchPage page = wb.getActivePage();
        if (page != null) {
            ISelection selection = page.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                try {
                    // check enablement logic, if any
                    Expression expression = fShortcut.getShortcutEnablementExpression();
                    if (expression == null) {
                        enabled = !structuredSelection.isEmpty();
                    } else {
                        List list = structuredSelection.toList();
                        IEvaluationContext context = new EvaluationContext(null, list);
                        //$NON-NLS-1$
                        context.addVariable("selection", list);
                        enabled = fShortcut.evalEnablementExpression(context, expression);
                    }
                } catch (CoreException e) {
                }
            } else {
                IEditorPart editor = page.getActiveEditor();
                if (editor != null) {
                    enabled = true;
                }
            }
        }
    }
    setEnabled(enabled);
}
Also used : IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) CoreException(org.eclipse.core.runtime.CoreException) Expression(org.eclipse.core.expressions.Expression) ISelection(org.eclipse.jface.viewers.ISelection) IEvaluationContext(org.eclipse.core.expressions.IEvaluationContext) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) List(java.util.List) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) IEvaluationContext(org.eclipse.core.expressions.IEvaluationContext) EvaluationContext(org.eclipse.core.expressions.EvaluationContext) IEditorPart(org.eclipse.ui.IEditorPart)

Example 10 with Expression

use of org.eclipse.core.expressions.Expression in project eclipse.platform.runtime by eclipse.

the class ExpressionTests method testIterateExpressionAndFalse.

public void testIterateExpressionAndFalse() throws Exception {
    final List<Object> result = new ArrayList<>();
    Expression myExpression = new Expression() {

        @Override
        public EvaluationResult evaluate(IEvaluationContext context) throws CoreException {
            result.add(context.getDefaultVariable());
            return EvaluationResult.FALSE;
        }
    };
    // $NON-NLS-1$
    IterateExpression exp = new IterateExpression("and");
    exp.add(myExpression);
    List<String> input = new ArrayList<>();
    // $NON-NLS-1$
    input.add("one");
    // $NON-NLS-1$
    input.add("two");
    EvaluationContext context = new EvaluationContext(null, input);
    assertTrue(EvaluationResult.FALSE == exp.evaluate(context));
    // $NON-NLS-1$
    assertTrue(result.size() == 1 && result.get(0).equals("one"));
}
Also used : AndExpression(org.eclipse.core.internal.expressions.AndExpression) SystemTestExpression(org.eclipse.core.internal.expressions.SystemTestExpression) ResolveExpression(org.eclipse.core.internal.expressions.ResolveExpression) OrExpression(org.eclipse.core.internal.expressions.OrExpression) Expression(org.eclipse.core.expressions.Expression) IterateExpression(org.eclipse.core.internal.expressions.IterateExpression) EnablementExpression(org.eclipse.core.internal.expressions.EnablementExpression) InstanceofExpression(org.eclipse.core.internal.expressions.InstanceofExpression) CountExpression(org.eclipse.core.internal.expressions.CountExpression) WithExpression(org.eclipse.core.internal.expressions.WithExpression) NotExpression(org.eclipse.core.internal.expressions.NotExpression) AdaptExpression(org.eclipse.core.internal.expressions.AdaptExpression) EqualsExpression(org.eclipse.core.internal.expressions.EqualsExpression) TestExpression(org.eclipse.core.internal.expressions.TestExpression) ArrayList(java.util.ArrayList) IEvaluationContext(org.eclipse.core.expressions.IEvaluationContext) IterateExpression(org.eclipse.core.internal.expressions.IterateExpression) IEvaluationContext(org.eclipse.core.expressions.IEvaluationContext) EvaluationContext(org.eclipse.core.expressions.EvaluationContext)

Aggregations

Expression (org.eclipse.core.expressions.Expression)17 IEvaluationContext (org.eclipse.core.expressions.IEvaluationContext)11 AdaptExpression (org.eclipse.core.internal.expressions.AdaptExpression)9 AndExpression (org.eclipse.core.internal.expressions.AndExpression)9 CountExpression (org.eclipse.core.internal.expressions.CountExpression)9 EnablementExpression (org.eclipse.core.internal.expressions.EnablementExpression)9 EqualsExpression (org.eclipse.core.internal.expressions.EqualsExpression)9 InstanceofExpression (org.eclipse.core.internal.expressions.InstanceofExpression)9 IterateExpression (org.eclipse.core.internal.expressions.IterateExpression)9 NotExpression (org.eclipse.core.internal.expressions.NotExpression)9 OrExpression (org.eclipse.core.internal.expressions.OrExpression)9 ResolveExpression (org.eclipse.core.internal.expressions.ResolveExpression)9 SystemTestExpression (org.eclipse.core.internal.expressions.SystemTestExpression)9 TestExpression (org.eclipse.core.internal.expressions.TestExpression)9 WithExpression (org.eclipse.core.internal.expressions.WithExpression)9 EvaluationContext (org.eclipse.core.expressions.EvaluationContext)8 CoreException (org.eclipse.core.runtime.CoreException)8 ArrayList (java.util.ArrayList)6 IConfigurationElement (org.eclipse.core.runtime.IConfigurationElement)5 IExtensionRegistry (org.eclipse.core.runtime.IExtensionRegistry)5