@Override public ParseConditionResult parseCondition(String conditionStr) { try { ConditionParser parser = new ConditionParser(conditionStr); return new ParseConditionResult(parser.parse()); } catch (ParseException e) { return new ParseConditionResult(e.getMessage()); } }
private void onSetValue(ParseConditionResult result) { if (!result.hasError()) { simpleConditionEditor.setValue(result.getCondition()); showSimpleConditionEditor(); } else { showScriptEditor(); } }
private void testParseConditionUnsuccessful(String function) { failingBinaryFunctionExpressions.forEach(binaryFunctionExpression -> { String expression = String.format(binaryFunctionExpression, "KieFunctions." + function); ParseConditionResult result = service.parseCondition(expression); assertTrue(result.hasError()); }); }
private void onSimpleConditionSelected(ParseConditionResult result) { if (!result.hasError()) { simpleConditionEditor.setValue(result.getCondition()); } else { simpleConditionEditor.setValue(null); showError(translationService.getValue(SCRIPT_PARSING_ERROR)); } showSimpleConditionEditor(); }
@Test public void testParseConditionResultEqualsAndHashCode() { TestCaseBuilder.newTestCase() .addTrueCase(new ParseConditionResult(null, null), new ParseConditionResult(null, null)) .addTrueCase(new ParseConditionResult(new Condition(null, null)), new ParseConditionResult(new Condition(null, null))) .addTrueCase(new ParseConditionResult(new Condition("function", Arrays.asList("param1"))), new ParseConditionResult(new Condition("function", Arrays.asList("param1")))) .addTrueCase(new ParseConditionResult(new Condition("function", Arrays.asList("param1")), "error"), new ParseConditionResult(new Condition("function", Arrays.asList("param1")), "error")) .addFalseCase(new ParseConditionResult(new Condition(null, null), "error"), new ParseConditionResult(new Condition(null, null), null)) .addFalseCase(new ParseConditionResult(new Condition("function", Arrays.asList("param1"))), new ParseConditionResult(new Condition("function", null))) .addFalseCase(new ParseConditionResult(new Condition("function", Arrays.asList("param1")), "error"), new ParseConditionResult(new Condition("function1", Arrays.asList("param1")), "error")) .addFalseCase(new ParseConditionResult(new Condition("function", Arrays.asList("param1")), "error"), new ParseConditionResult(new Condition("function", Arrays.asList("param2")), "error")) .addFalseCase(new ParseConditionResult(new Condition("function", Arrays.asList("param1")), "error"), new ParseConditionResult(new Condition("function", Arrays.asList("param1")), "error1")) .test(); }
private void testParseConditionSuccessful(String function) { List<String> conditions = buildBinaryConditionScripts(function); for (int i = 0; i < conditions.size(); i++) { ParseConditionResult result = service.parseCondition(conditions.get(i)); assertFalse(result.hasError()); assertEquals(function, result.getCondition().getFunction()); assertEquals(2, result.getCondition().getParams().size()); assertEquals(variableParams.get(i), result.getCondition().getParams().get(0)); assertEquals(stringParams.get(i), result.getCondition().getParams().get(1)); } }