@Override public String getResolvedName(OperatorKind item, String language) { if (item != null) { return item.getSymbol(); } else { return null; } }
@Override public String getResolvedDescription(OperatorKind item, String language) { if (item != null) { return item.getName(); } else { return null; } }
private static boolean hasLeftVariableName( ExpressionItem parentExpressionItem) { return (parentExpressionItem instanceof BinaryExpression) && ((BinaryExpression) parentExpressionItem).getLeft() instanceof Variable; }
private void addExpressionNodes(String guideId, ExpressionItem currentExpressionItem, GraphNode graphNode) throws InternalErrorException { if (currentExpressionItem instanceof BinaryExpression) { BinaryExpression binaryExpression = (BinaryExpression) currentExpressionItem; if (OperatorKind.OR.equals(binaryExpression.getOperator()) || OperatorKind.AND.equals(binaryExpression.getOperator())) { addExpressionNodes(guideId, binaryExpression.getLeft(), graphNode); addExpressionNodes(guideId, binaryExpression.getRight(), graphNode); return; } else if (isArithmeticOperator(binaryExpression.getOperator())) { addSimpleConditionsFromComplexExpressions(guideId, binaryExpression.getLeft(), graphNode); addSimpleConditionsFromComplexExpressions(guideId, binaryExpression.getRight(), graphNode); } } else if (currentExpressionItem instanceof AssignmentExpression) { AssignmentExpression assignmentExpression = (AssignmentExpression) currentExpressionItem; addExpressionNodes(guideId, assignmentExpression.getAssignment(), graphNode); } addExpressionToNode(guideId, currentExpressionItem, graphNode); }
private static void addGTCodesInWrites(ExpressionItem expressionItem, Set<String> gtCodes) { if (expressionItem instanceof CreateInstanceExpression) { MultipleAssignmentExpression multipleAssignmentExpression = ((CreateInstanceExpression) expressionItem).getAssignment(); for (AssignmentExpression assignmentExpression : multipleAssignmentExpression.getAssignmentExpressions()) { addGTCodesInWrites(assignmentExpression, gtCodes); } } else if (expressionItem instanceof AssignmentExpression) { gtCodes.add(((AssignmentExpression) expressionItem).getVariable().getCode()); } else { throw new RuntimeException("Unknown expression '" + expressionItem.getClass().getName() + "'"); } }
private void addSimpleConditionsFromComplexExpressions(String guideId, ExpressionItem expressionItem, GraphNode graphNode) throws InternalErrorException { if (expressionItem instanceof BinaryExpression) { addExpressionNodes(guideId, expressionItem, graphNode); } else if (expressionItem instanceof Variable) { Variable variable = (Variable) expressionItem; BinaryExpression binaryExpression = new BinaryExpression(variable, new ConstantExpression("null"), OperatorKind.INEQUAL); addExpressionToNode(guideId, binaryExpression, graphNode); } }
private void addSimpleAssignmentFromExpressionItems( AssignmentExpression assignmentExpression, Collection<AssignmentExpression> simpleAssignmentsFromExpressionItems) { if (assignmentExpression instanceof CreateInstanceExpression) { CreateInstanceExpression createInstanceExpression = (CreateInstanceExpression) assignmentExpression; simpleAssignmentsFromExpressionItems.addAll(createInstanceExpression.getAssignment().getAssignmentExpressions()); } else { simpleAssignmentsFromExpressionItems.add(assignmentExpression); } }
@Override public ExpressionItem toExpressionItem() throws IllegalStateException { String gtCode = firedRuleReferenceRuleElement.getValue().getValue(); return new UnaryExpression(new Variable(gtCode), firedRuleOperatorRuleLineElement.getValue()); } }
private static void generatePredicateElementsForUnaryExpression( ArchetypeBinding archetypeBinding, ArchetypeReference ar, Guide guide, DateTime dateTime, boolean resolvePredicates, UnaryExpression expressionItem) { UnaryExpression ue = expressionItem; OperatorKind op = ue.getOperator(); ExpressionItem operand = ue.getOperand(); if (operand instanceof Variable) { String idElement = archetypeBinding.getArchetypeId() + ((Variable) operand).getPath(); DataValue dv = null; generateElementInstanceForPredicate(ar, op, idElement, dv, guide, dateTime, resolvePredicates); //TODO No rule references added (no gt codes) } }
private static OperatorKind getOperatorKind(ExpressionItem parentExpressionItem) { if (parentExpressionItem instanceof BinaryExpression) { return ((BinaryExpression) parentExpressionItem).getOperator(); } else { return null; } }
@Override public int hashCode() { int result = guideId.hashCode(); result = 31 * result + assignmentExpression.hashCode(); return result; }
@Override public int hashCode() { int result = guideId.hashCode(); result = 31 * result + binaryExpression.hashCode(); return result; }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof GuideAssignmentExpression)) { return false; } GuideAssignmentExpression that = (GuideAssignmentExpression) obj; return assignmentExpression.equals(that.assignmentExpression) && guideId.equals(that.guideId); }
private void addSimpleConditionsFromComplexExpressions(ExpressionItem expressionItem, Collection<BinaryExpression> simpleConditionsExpressionItems) { if (expressionItem instanceof BinaryExpression) { addSimpleConditionsFromExpressionItems(expressionItem, simpleConditionsExpressionItems); } else if (expressionItem instanceof Variable) { Variable variable = (Variable) expressionItem; simpleConditionsExpressionItems.add(new BinaryExpression(variable, new ConstantExpression("null"), OperatorKind.INEQUAL)); } }
@Override public String getResolvedName(OperatorKind item, String language) { if (item != null) { return item.getSymbol(); } else { return null; } }
@Override public String getResolvedDescription(OperatorKind item, String language) { if (item != null) { return item.getName(); } else { return null; } }