Example usage for com.google.common.collect SortedMapDifference entriesOnlyOnLeft

List of usage examples for com.google.common.collect SortedMapDifference entriesOnlyOnLeft

Introduction

In this page you can find the example usage for com.google.common.collect SortedMapDifference entriesOnlyOnLeft.

Prototype

@Override
    SortedMap<K, V> entriesOnlyOnLeft();

Source Link

Usage

From source file:org.geogit.api.plumbing.diff.TreeDifference.java

private SortedMap<NodeRef, NodeRef> findRenames(SortedMapDifference<String, MutableTree> difference) {

    SortedMap<String, MutableTree> entriesOnlyOnLeft = difference.entriesOnlyOnLeft();
    SortedMap<String, MutableTree> entriesOnlyOnRight = difference.entriesOnlyOnRight();

    SortedMap<NodeRef, NodeRef> matches = newTreeMap();

    for (Map.Entry<String, MutableTree> right : entriesOnlyOnRight.entrySet()) {
        for (Map.Entry<String, MutableTree> left : entriesOnlyOnLeft.entrySet()) {

            Node leftNode = left.getValue().getNode();
            Node rightNode = right.getValue().getNode();

            if (rightNode.getObjectId().equals(leftNode.getObjectId())) {
                String leftParent = NodeRef.parentPath(left.getKey());
                String rightParent = NodeRef.parentPath(right.getKey());

                NodeRef leftRef = new NodeRef(leftNode, leftParent, ObjectId.NULL);
                NodeRef rightRef = new NodeRef(rightNode, rightParent, ObjectId.NULL);
                matches.put(leftRef, rightRef);
            }/*w w w  .  ja va  2s .  c  o  m*/
        }
    }
    return matches;
}

From source file:se.sics.caracaldb.global.DefaultPolicy.java

private void getHostActions(LUTWorkingBuffer lut, ImmutableSortedMap<Integer, Address> failIds,
        ImmutableSortedMap<Integer, Address> joinIds) {
    SortedMapDifference<Integer, Address> idDiff = Maps.difference(failIds, joinIds);
    SortedMap<Integer, Address> nullableIds = idDiff.entriesOnlyOnLeft();
    for (Entry<Integer, Address> e : nullableIds.entrySet()) {
        lut.removeHost(e.getKey());//ww  w .  ja  v a2  s .c om
    }
    for (Entry<Integer, Address> e : joinIds.entrySet()) {
        lut.putHost(e.getKey(), e.getValue());
    }
}