use of de.tblsoft.solr.pipeline.bean.FieldDiff in project solr-cmd-utils by tblsoft.
the class DocumentDiffer method compare.
public static DocumentDiff compare(Document d1, Document d2) {
DocumentDiff diff = new DocumentDiff();
for (Field field : d1.getFields()) {
List<String> values1 = field.getValues();
List<String> values2 = d2.getFieldValues(field.getName());
d2.deleteField(field.getName());
FieldDiff.DiffType changeType = getChangeType(values1, values2);
FieldDiff fieldDiff = new FieldDiff();
fieldDiff.setDiffType(changeType);
if (!changeType.equals(FieldDiff.DiffType.EQUAL)) {
fieldDiff.setOldValues(values1);
fieldDiff.setNewValue(values2);
diff.getFieldDiffs().add(fieldDiff);
}
}
for (Field field : d2.getFields()) {
FieldDiff fieldDiff = new FieldDiff();
fieldDiff.setDiffType(FieldDiff.DiffType.CREATE);
fieldDiff.setNewValue(field.getValues());
diff.getFieldDiffs().add(fieldDiff);
}
return diff;
}
Aggregations