//////////////////////////// third part: variable part private ISkolemPart generatePartForVariable( SkolemFunctionGenerator generator, Map<VariableJoinCondition, ISkolemPart> partsForJoins, MappingTask mappingTask) { if (generator.getJoinConditions().isEmpty()) { return NullSkolemPart.getInstance(); } ISkolemPart append = new AppendSkolemPart(mappingTask.getConfig().useSortInSkolems(), "", "", ", "); for (VariableJoinCondition variableJoinCondition : generator.getJoinConditions()) { append.addChild(partsForJoins.get(variableJoinCondition)); } return append; }
///////////////////////////////// LOCAL NODE ///////////////////////////////////////////////// private ISkolemPart generateLocalSkolemFunction( SkolemFunctionGenerator generator, MappingTask mappingTask) { StringBuilder functionName = new StringBuilder(); functionName.append("SK_"); functionName.append("TGD").append(compactHashCode(generator.getTgd().hashCode())).append("_"); functionName .append("N") .append(compactHashCode(generator.getJoinConditions().toString().hashCode())); if (generator.getPosition() != null) { functionName.append("_Pos=").append(generator.getPosition()); } return generateAppendWithFunctionName(functionName.toString(), generator, mappingTask); }