private String dumpValueCombination(Collection<? extends PrismValue> pvalues, List<SourceTriple<?, ?>> sourceTriples) { StringBuilder sb = new StringBuilder(); Iterator<SourceTriple<PrismValue,?>> sourceTriplesIterator = (Iterator)sourceTriples.iterator(); for (PrismValue pval: pvalues) { SourceTriple<PrismValue,?> sourceTriple = sourceTriplesIterator.next(); sb.append(sourceTriple.getName().getLocalPart()).append('='); sb.append(pval==null?null:(Object)pval.getRealValue()); if (sourceTriplesIterator.hasNext()) { sb.append(", "); } } return sb.toString(); }
SourceTriple<?,?> sourceTriple = new SourceTriple<>(source, prismContext); ItemDelta<?,?> delta = source.getDelta(); if (delta != null) { sourceTriple.merge((DeltaSetTriple) delta.toDeltaSetTriple((Item) source.getItemOld())); } else { if (source.getItemOld() != null) { sourceTriple.addAllToZeroSet((Collection)source.getItemOld().getValues()); if (!(itemNew == null || itemNew.isEmpty())) { sourceTriple.addToMinusSet(null); } else if (sourceTriple.hasMinusSet()) { sourceTriple.addToPlusSet(null); sourceTriple.addToPlusSet(null); LOGGER.trace("Processed source {} triple\n{}", source.getName().getLocalPart(), sourceTriple.debugDump(1));
Collection<? extends PrismValue> values = sourceTriple.union(); if (values.isEmpty()) { QName name = sourceTriple.getName(); sourceVariables.put(name, getRealContent(pval, sourceTriple.getResidualPath())); if (sourceTriple.presentInPlusSet(pval)) { hasPlus = true; } else if (sourceTriple.presentInZeroSet(pval)) { hasZero = true; } else if (sourceTriple.presentInMinusSet(pval)) { hasMinus = true;