• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Expression类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.graylog.plugins.pipelineprocessor.ast.expressions.Expression的典型用法代码示例。如果您正苦于以下问题:Java Expression类的具体用法?Java Expression怎么用?Java Expression使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Expression类属于org.graylog.plugins.pipelineprocessor.ast.expressions包,在下文中一共展示了Expression类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: exitIdentifier

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitIdentifier(RuleLangParser.IdentifierContext ctx) {
    // unquote identifier if necessary
    final String identifierName = unquote(ctx.Identifier().getText(), '`');

    if (!isIdIsFieldAccess.peek() && !definedVars.contains(identifierName)) {
        parseContext.addError(new UndeclaredVariable(ctx));
    }
    final Expression expr;
    String type;
    // if the identifier is also a declared variable name prefer the variable
    if (isIdIsFieldAccess.peek() && !definedVars.contains(identifierName)) {
        expr = new FieldRefExpression(ctx.getStart(), identifierName, parseContext.getDefinedVar(identifierName));
        type = "FIELDREF";
    } else {
        expr = new VarRefExpression(ctx.getStart(), identifierName, parseContext.getDefinedVar(identifierName));
        type = "VARREF";
    }
    log.trace("{}: ctx {} => {}", type, ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:22,代码来源:PipelineRuleParser.java


示例2: triggerAbstractEnter

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
private void triggerAbstractEnter(RuleAstListener listener, Expression expr) {
    
    if (expr instanceof BinaryExpression) {
        listener.enterBinary((BinaryExpression) expr);
        
    } else if (expr instanceof UnaryExpression) { // must not be first in "else if" because "binary is instanceof unary" 
        listener.enterUnary((UnaryExpression) expr);
    }
    // for the others we trigger regardless whether it's a binary or unary expr
    if (expr instanceof LogicalExpression) {
        listener.enterLogical((LogicalExpression) expr);
    }
    if (expr instanceof NumericExpression) {
        listener.enterNumeric((NumericExpression) expr);
    }
    if (expr instanceof ConstantExpression) {
        listener.enterConstant((ConstantExpression) expr);
    }
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:20,代码来源:RuleAstWalker.java


示例3: triggerAbstractExit

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
private void triggerAbstractExit(RuleAstListener listener, Expression expr) {
    if (expr instanceof BinaryExpression) {
        listener.exitBinary((BinaryExpression) expr);

    } else if (expr instanceof UnaryExpression) { // must not be first in "else if" because "binary is instanceof unary" 
        listener.exitUnary((UnaryExpression) expr);
    }
    // for the others we trigger regardless whether it's a binary or unary expr
    if (expr instanceof LogicalExpression) {
        listener.exitLogical((LogicalExpression) expr);
    }
    if (expr instanceof NumericExpression) {
        listener.exitNumeric((NumericExpression) expr);
    }
    if (expr instanceof ConstantExpression) {
        listener.exitConstant((ConstantExpression) expr);
    }
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:19,代码来源:RuleAstWalker.java


示例4: preprocessArgs

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
default void preprocessArgs(FunctionArgs args) {
    for (Map.Entry<String, Expression> e : args.getConstantArgs().entrySet()) {
        final String name = e.getKey();
        try {
            final Object value = preComputeConstantArgument(args, name, e.getValue());
            if (value != null) {
                //noinspection unchecked
                final ParameterDescriptor<Object, Object> param = (ParameterDescriptor<Object, Object>) args.param(name);
                if (param == null) {
                    throw new IllegalStateException("Unknown parameter " + name + "! Cannot continue.");
                }
                args.setPreComputedValue(name, param.transform().apply(value));
            }
        } catch (Exception exception) {
            log.debug("Unable to precompute argument value for " + name, exception);
            throw new PrecomputeFailure(name, exception);
        }
    }

}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:21,代码来源:Function.java


示例5: evaluate_returns_result_for_valid_CEF_string

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Test
public void evaluate_returns_result_for_valid_CEF_string() throws Exception {
    final Map<String, Expression> arguments = ImmutableMap.of(
            CEFParserFunction.VALUE, new StringExpression(new CommonToken(0), "CEF:0|vendor|product|1.0|id|name|low|dvc=example.com msg=Foobar"),
            CEFParserFunction.USE_FULL_NAMES, new BooleanExpression(new CommonToken(0), false)
    );
    final FunctionArgs functionArgs = new FunctionArgs(function, arguments);
    final Message message = new Message("__dummy", "__dummy", DateTime.parse("2010-07-30T16:03:25Z"));
    final EvaluationContext evaluationContext = new EvaluationContext(message);

    final CEFParserResult result = function.evaluate(functionArgs, evaluationContext);
    assertNotNull(result);
    assertEquals(0, result.get("cef_version"));
    assertEquals("vendor", result.get("device_vendor"));
    assertEquals("product", result.get("device_product"));
    assertEquals("1.0", result.get("device_version"));
    assertEquals("id", result.get("device_event_class_id"));
    assertEquals("low", result.get("severity"));
    assertEquals("example.com", result.get("dvc"));
    assertEquals("Foobar", result.get("msg"));
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-cef,代码行数:22,代码来源:CEFParserFunctionTest.java


示例6: evaluate_returns_result_for_valid_CEF_string_with_short_names_if_useFullNames_parameter_is_missing

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Test
public void evaluate_returns_result_for_valid_CEF_string_with_short_names_if_useFullNames_parameter_is_missing() throws Exception {
    final Map<String, Expression> arguments = Collections.singletonMap(
            CEFParserFunction.VALUE, new StringExpression(new CommonToken(0), "CEF:0|vendor|product|1.0|id|name|low|dvc=example.com msg=Foobar")
    );
    final FunctionArgs functionArgs = new FunctionArgs(function, arguments);
    final Message message = new Message("__dummy", "__dummy", DateTime.parse("2010-07-30T16:03:25Z"));
    final EvaluationContext evaluationContext = new EvaluationContext(message);

    final CEFParserResult result = function.evaluate(functionArgs, evaluationContext);
    assertNotNull(result);
    assertEquals(0, result.get("cef_version"));
    assertEquals("vendor", result.get("device_vendor"));
    assertEquals("product", result.get("device_product"));
    assertEquals("1.0", result.get("device_version"));
    assertEquals("id", result.get("device_event_class_id"));
    assertEquals("low", result.get("severity"));
    assertEquals("example.com", result.get("dvc"));
    assertEquals("Foobar", result.get("msg"));
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-cef,代码行数:21,代码来源:CEFParserFunctionTest.java


示例7: evaluate_returns_result_for_valid_CEF_string_with_full_names

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Test
public void evaluate_returns_result_for_valid_CEF_string_with_full_names() throws Exception {
    final CEFParserFunction function = new CEFParserFunction(new MetricRegistry());
    final Map<String, Expression> arguments = ImmutableMap.of(
            CEFParserFunction.VALUE, new StringExpression(new CommonToken(0), "CEF:0|vendor|product|1.0|id|name|low|dvc=example.com msg=Foobar"),
            CEFParserFunction.USE_FULL_NAMES, new BooleanExpression(new CommonToken(0), true)
    );
    final FunctionArgs functionArgs = new FunctionArgs(function, arguments);
    final Message message = new Message("__dummy", "__dummy", DateTime.parse("2010-07-30T16:03:25Z"));
    final EvaluationContext evaluationContext = new EvaluationContext(message);

    final CEFParserResult result = function.evaluate(functionArgs, evaluationContext);
    assertNotNull(result);
    assertEquals(0, result.get("cef_version"));
    assertEquals("vendor", result.get("device_vendor"));
    assertEquals("product", result.get("device_product"));
    assertEquals("1.0", result.get("device_version"));
    assertEquals("id", result.get("device_event_class_id"));
    assertEquals("low", result.get("severity"));
    assertEquals("example.com", result.get("deviceAddress"));
    assertEquals("Foobar", result.get("message"));
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-cef,代码行数:23,代码来源:CEFParserFunctionTest.java


示例8: evaluate_returns_result_without_message_field

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Test
public void evaluate_returns_result_without_message_field() throws Exception {
    final Map<String, Expression> arguments = ImmutableMap.of(
            CEFParserFunction.VALUE, new StringExpression(new CommonToken(0), "CEF:0|vendor|product|1.0|id|name|low|dvc=example.com"),
            CEFParserFunction.USE_FULL_NAMES, new BooleanExpression(new CommonToken(0), false)
    );
    final FunctionArgs functionArgs = new FunctionArgs(function, arguments);
    final Message message = new Message("__dummy", "__dummy", DateTime.parse("2010-07-30T16:03:25Z"));
    final EvaluationContext evaluationContext = new EvaluationContext(message);

    final CEFParserResult result = function.evaluate(functionArgs, evaluationContext);
    assertNotNull(result);
    assertEquals(0, result.get("cef_version"));
    assertEquals("vendor", result.get("device_vendor"));
    assertEquals("product", result.get("device_product"));
    assertEquals("1.0", result.get("device_version"));
    assertEquals("id", result.get("device_event_class_id"));
    assertEquals("low", result.get("severity"));
    assertEquals("example.com", result.get("dvc"));
    assertFalse(result.containsKey("message"));
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-cef,代码行数:22,代码来源:CEFParserFunctionTest.java


示例9: exitVarAssignStmt

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitVarAssignStmt(RuleLangParser.VarAssignStmtContext ctx) {
    final String name = unquote(ctx.varName.getText(), '`');
    final Expression expr = exprs.get(ctx.expression());
    parseContext.defineVar(name, expr);
    definedVars.add(name);
    parseContext.statements.add(new VarAssignStatement(name, expr));
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:9,代码来源:PipelineRuleParser.java


示例10: exitNamedArgs

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitNamedArgs(RuleLangParser.NamedArgsContext ctx) {
    final Map<String, Expression> argMap = Maps.newHashMap();
    for (RuleLangParser.PropAssignmentContext propAssignmentContext : ctx.propAssignment()) {
        final String argName = unquote(propAssignmentContext.Identifier().getText(), '`');
        final Expression argValue = exprs.get(propAssignmentContext.expression());
        argMap.put(argName, argValue);
    }
    args.put(ctx, argMap);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:11,代码来源:PipelineRuleParser.java


示例11: exitNested

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitNested(RuleLangParser.NestedContext ctx) {
    isIdIsFieldAccess.pop(); // reset for error checks
    final Expression object = exprs.get(ctx.fieldSet);
    final Expression field = exprs.get(ctx.field);
    final FieldAccessExpression expr = new FieldAccessExpression(ctx.getStart(), object, field);
    log.trace("FIELDACCESS: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:10,代码来源:PipelineRuleParser.java


示例12: exitNot

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitNot(RuleLangParser.NotContext ctx) {
    final Expression expression = upgradeBoolFunctionExpression(ctx.expression());
    final NotExpression expr = new NotExpression(ctx.getStart(), expression);
    log.trace("NOT: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:8,代码来源:PipelineRuleParser.java


示例13: exitAnd

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitAnd(RuleLangParser.AndContext ctx) {
    // if the expressions are function calls but boolean valued, upgrade them,
    // we allow testing boolean valued functions without explicit comparison operator
    final Expression left = upgradeBoolFunctionExpression(ctx.left);
    final Expression right = upgradeBoolFunctionExpression(ctx.right);

    final AndExpression expr = new AndExpression(ctx.getStart(), left, right);
    log.trace("AND: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:12,代码来源:PipelineRuleParser.java


示例14: upgradeBoolFunctionExpression

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
private Expression upgradeBoolFunctionExpression(RuleLangParser.ExpressionContext leftExprContext) {
    Expression leftExpr = exprs.get(leftExprContext);
    if (leftExpr instanceof FunctionExpression && leftExpr.getType().equals(Boolean.class)) {
        leftExpr = new BooleanValuedFunctionWrapper(leftExprContext.getStart(), leftExpr);
    }
    return leftExpr;
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:8,代码来源:PipelineRuleParser.java


示例15: exitOr

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitOr(RuleLangParser.OrContext ctx) {
    final Expression left = upgradeBoolFunctionExpression(ctx.left);
    final Expression right = upgradeBoolFunctionExpression(ctx.right);
    final OrExpression expr = new OrExpression(ctx.getStart(), left, right);
    log.trace("OR: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:9,代码来源:PipelineRuleParser.java


示例16: exitEquality

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitEquality(RuleLangParser.EqualityContext ctx) {
    final Expression left = exprs.get(ctx.left);
    final Expression right = exprs.get(ctx.right);
    final boolean equals = ctx.equality.getText().equals("==");
    final EqualityExpression expr = new EqualityExpression(ctx.getStart(), left, right, equals);
    log.trace("EQUAL: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:10,代码来源:PipelineRuleParser.java


示例17: exitComparison

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitComparison(RuleLangParser.ComparisonContext ctx) {
    final Expression left = exprs.get(ctx.left);
    final Expression right = exprs.get(ctx.right);
    final String operator = ctx.comparison.getText();
    final ComparisonExpression expr = new ComparisonExpression(ctx.getStart(), left, right, operator);
    log.trace("COMPARE: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:10,代码来源:PipelineRuleParser.java


示例18: exitMapLiteralExpr

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitMapLiteralExpr(RuleLangParser.MapLiteralExprContext ctx) {
    final HashMap<String, Expression> map = Maps.newHashMap();
    for (RuleLangParser.PropAssignmentContext propAssignmentContext : ctx.propAssignment()) {
        final String key = unquote(propAssignmentContext.Identifier().getText(), '`');
        final Expression value = exprs.get(propAssignmentContext.expression());
        map.put(key, value);
    }
    exprs.put(ctx, new MapLiteralExpression(ctx.getStart(), map));
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:11,代码来源:PipelineRuleParser.java


示例19: exitAddition

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitAddition(RuleLangParser.AdditionContext ctx) {
    final Expression left = exprs.get(ctx.left);
    final Expression right = exprs.get(ctx.right);
    final boolean isPlus = ctx.add.getText().equals("+");

    final AdditionExpression expr = new AdditionExpression(ctx.getStart(), left, right, isPlus);
    log.trace("ADD: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:11,代码来源:PipelineRuleParser.java


示例20: exitMultiplication

import org.graylog.plugins.pipelineprocessor.ast.expressions.Expression; //导入依赖的package包/类
@Override
public void exitMultiplication(RuleLangParser.MultiplicationContext ctx) {
    final Expression left = exprs.get(ctx.left);
    final Expression right = exprs.get(ctx.right);
    final char operator = ctx.mult.getText().charAt(0);

    final MultiplicationExpression expr = new MultiplicationExpression(ctx.getStart(), left, right, operator);
    log.trace("MULT: ctx {} => {}", ctx, expr);
    exprs.put(ctx, expr);
}
 
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:11,代码来源:PipelineRuleParser.java



注:本文中的org.graylog.plugins.pipelineprocessor.ast.expressions.Expression类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Builder类代码示例发布时间:2022-05-15
下一篇:
Java ForgeTask类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap