@Override public void setValue(Condition value) { super.setValue(value); clear(); if (value != null) { if (value.getParams().size() >= 1) { String type = variableSearchService.getOptionType(value.getParams().get(0)); if (type != null) { functionSearchService.reload(type, () -> onSetValue(value)); } else { view.setVariableError(translationService.getValue(VARIABLE_NOT_FOUND_ERROR, value.getParams().get(0))); } } else { //uncommon case view.setConditionError(translationService.getValue(CONDITION_MAL_FORMED)); } } }
script.append("("); boolean first = true; for (String param : condition.getParams()) { if (param == null || param.isEmpty()) { throw new GenerateConditionException(PARAMETER_NULL_EMPTY);
private void onSetValue(Condition value) { if (functionSearchService.getFunction(value.getFunction()) != null) { initParams(value.getFunction(), value.getParams()); view.getVariableSelectorDropDown().setSelectedItem(value.getParams().get(0)); view.getConditionSelectorDropDown().setSelectedItem(value.getFunction()); valid = true; } else { view.getVariableSelectorDropDown().setSelectedItem(value.getParams().get(0)); view.setConditionError(translationService.getValue(FUNCTION_NOT_SUITED_FOR_VARIABLE, value.getFunction())); valid = false; } }
private void testTernaryFunctionParsingSuccessful(String function) throws Exception { List<String> conditions = buildTernaryConditionScripts(function); for (int i = 0; i < conditions.size(); i++) { ConditionParser parser = new ConditionParser(conditions.get(i)); Condition condition = parser.parse(); assertEquals(function, condition.getFunction()); assertEquals(3, condition.getParams().size()); assertEquals(variableParams.get(i), condition.getParams().get(0)); assertEquals(stringParams.get(i), condition.getParams().get(1)); assertEquals(stringParams.get(i), condition.getParams().get(2)); } }
private void testBinaryFunctionParsingSuccessful(String function) throws Exception { List<String> conditions = buildBinaryConditionScripts(function); for (int i = 0; i < conditions.size(); i++) { ConditionParser parser = new ConditionParser(conditions.get(i)); Condition condition = parser.parse(); assertEquals(function, condition.getFunction()); assertEquals(2, condition.getParams().size()); assertEquals(variableParams.get(i), condition.getParams().get(0)); assertEquals(stringParams.get(i), condition.getParams().get(1)); } }
private void testUnaryFunctionParsingSuccessful(String function) throws Exception { List<String> conditions = buildUnaryConditionScripts(function); for (int i = 0; i < conditions.size(); i++) { ConditionParser parser = new ConditionParser(conditions.get(i)); Condition condition = parser.parse(); assertEquals(function, condition.getFunction()); assertEquals(1, condition.getParams().size()); assertEquals(variableParams.get(i), condition.getParams().get(0)); } }
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)); } }
private void applyChange() { String variable = variableSearchSelectionHandler.getSelectedKey(); String type = variableSearchService.getOptionType(variable); String function = functionSearchSelectionHandler.getSelectedKey(); Condition condition = new Condition(); valid = true; if (!isEmpty(function)) { condition.setFunction(function); } else { valid = false; } if (!isEmpty(variable) && !isEmpty(type)) { condition.addParam(variable); } else { valid = false; } for (ConditionParamPresenter param : currentParams) { if (!param.validateParam(type)) { valid = false; } condition.getParams().add(param.getValue()); } Condition oldValue = value; value = condition; notifyChange(oldValue, value); }