private void convertEdge(final FlowsIntoType flowsInto, final EdgeType edge) { if (flowsInto.getIsDefaultFlow() != null) { edge.setDefault(true); } else { edge.setDefault(false); } if (flowsInto.getPredicate() != null) { ConditionExpressionType expressionType = CPF_FACTORY.createConditionExpressionType(); expressionType.setLanguage(CPFSchema.EXPRESSION_LANGUAGE_XPATH); expressionType.setExpression(flowsInto.getPredicate().getValue()); edge.setConditionExpr(expressionType); } }
protected void connectToSuccessors(final NodeType node, final List<FlowsIntoType> flowsIntoList) throws CanoniserException { for (final FlowsIntoType flowsInto : flowsIntoList) { // Check if the next element has already been converted (in case of cycles) and get its // introduced predecessor node. final NodeType introducedNode = getContext().getIntroducedPredecessor(flowsInto.getNextElementRef()); if (introducedNode != null) { EdgeType edge = createSimpleEdge(node, introducedNode); convertEdge(flowsInto, edge); } else { // Add ourself to the waiting queue for the next element getContext() .getIncomingQueue(flowsInto.getNextElementRef()) .add(new PredecessorAdapater(node, flowsInto)); } } }