@Override protected void encode(OutputStream out) { if (packer != null && changes != null) { try { packer.write(out, changes); // signal the end of changes out.write(2); if (changes.wasFiltered()) { out.write(1); } else { out.write(0); } changes.close(); } catch (IOException ioe) { throw new RuntimeException (ioe); } } }
@Override public boolean hasNext() { if (next == null) { next = computeNext(); } return next != null; }
@Override public DiffEntry next() { if (next == null && !hasNext()) { throw new NoSuchElementException(); } DiffEntry returnValue = next; next = null; return returnValue; }
&& ((FilteredDiffIterator) changes).wasFiltered(); out.write(filtersApplied ? 1 : 0);
private NodeRef filter(NodeRef node) { if (node == null) { return null; } RevObject object = sourceRepo.objectDatabase().get(node.getObjectId()); RevObject metadata = null; if (!node.getMetadataId().isNull()) { metadata = sourceRepo.objectDatabase().get(node.getMetadataId()); } if (node.getType() == TYPE.FEATURE) { if (trackingObject(object.getId())) { // We are already tracking this object, continue to do so return node; } RevFeatureType revFeatureType = (RevFeatureType) metadata; if (!repoFilter.filterObject(revFeatureType, node.getParentPath(), object)) { return null; } } processObject(object); processObject(metadata); return node; }
continue; NodeRef oldObject = filter(input.getOldObject()); NodeRef newObject; if (oldObject != null) { .setObjectId(newObject.getMetadataId()).call().get(); processObject(object); processObject(metadata); newObject = filter(input.getNewObject());
objectDatabase.put(mapped); if (changes.wasFiltered()) { graphDatabase.setProperty(mapped.getId(), GraphDatabase.SPARSE_FLAG, "true");
private NodeRef filter(NodeRef node) { if (node == null) { return null; } RevObject object = sourceRepo.objectDatabase().get(node.getObjectId()); RevObject metadata = null; if (!node.getMetadataId().isNull()) { metadata = sourceRepo.objectDatabase().get(node.getMetadataId()); } if (node.getType() == TYPE.FEATURE) { if (trackingObject(object.getId())) { // We are already tracking this object, continue to do so return node; } RevFeatureType revFeatureType = (RevFeatureType) metadata; if (!repoFilter.filterObject(revFeatureType, node.getParentPath(), object)) { return null; } } processObject(object); processObject(metadata); return node; }
continue; NodeRef oldObject = filter(input.getOldObject()); NodeRef newObject; if (oldObject != null) { .setObjectId(newObject.getMetadataId()).call().get(); processObject(object); processObject(metadata); newObject = filter(input.getNewObject());
objectDatabase.put(mapped); if (changes.wasFiltered()) { graphDatabase.setProperty(mapped.getId(), GraphDatabase.SPARSE_FLAG, "true");
@Override public boolean hasNext() { if (next == null) { next = computeNext(); } return next != null; }
@Override public DiffEntry next() { if (next == null && !hasNext()) { throw new NoSuchElementException(); } DiffEntry returnValue = next; next = null; return returnValue; }