@Override public String getPredicateDescription() { StringBuilder sb = new StringBuilder(); PredicateArchetypeElementAttributeRuleLineElement paearle = getArchetypeElementAttributeRuleLineDefinitionElement(); PredicateAttributeComparisonOperatorRuleLineElement pacorl = getComparisonOperatorRuleLineElement(); ExpressionRuleLineElement ere = getExpressionRuleLineElement(); if (paearle != null) { ArchetypeElementVO archetypeElementVO = paearle.getValue(); String attribute = paearle.getAttribute(); if (archetypeElementVO != null && pacorl.getValue() != null) { String name = getArchetypeManager().getArchetypeElements().getText(archetypeElementVO, getLanguage()); sb.append(name).append(".").append(attribute).append(" ").append(pacorl.getValue().getSymbol()).append(" ").append(ere.toString()); } else { LoggerFactory.getLogger(ArchetypeReference.class).warn("Unknown predicate for AR '" + paearle.toString() + "'"); sb.append("*UNKNOWN PREDICATE*"); } } return sb.toString(); } }
@Override public ExpressionItem toExpressionItem() { ArchetypeElementVO archetypeElementVO = getArchetypeElementAttributeRuleLineDefinitionElement().getValue(); String attribute = getArchetypeElementAttributeRuleLineDefinitionElement().getAttribute(); String path = archetypeElementVO.getPath() + "/value/" + attribute; ExpressionRuleLineElement expressionRuleLineElement = getExpressionRuleLineElement(); OperatorKind operatorKind = getComparisonOperatorRuleLineElement().getValue(); String name = getArchetypeManager().getArchetypeElements().getText(archetypeElementVO, getLanguage()); return new BinaryExpression( new Variable(null, name, path), expressionRuleLineElement.getValue(), operatorKind); }
ExpressionItem expressionItemAux = binaryExpression.getRight(); wepdrl.getExpressionRuleLineElement().setValue(expressionItemAux); wepdrl.getComparisonOperatorRuleLineElement().setValue(binaryExpression.getOperator());