- private void applyVisibleFlags(UpdateNode l, UpdateNode r) {
- BijectionMap<UpdateNode, UpdateNode> comparable = new BijectionMap<>();
- for (UpdateNode lc : l.getChildren()) {
- for (UpdateNode rc : r.getChildren()) {
- if (comparable.containsRight(rc))
- continue;
- if (lc.getResource() != null) {
- if (lc.getResource().equals(rc.getResource())) {
-
- comparable.map(lc, rc);
- break;
- }
- } else if (rc.getResource() == null){
- UpdateOp lop = lc.getOp();
- UpdateOp rop = rc.getOp();
- if (lop.getStatement() != null && lop.getStatement().equals(rop.getStatement())) {
- comparable.map(lc, rc);
- break;
- }
- }
- }
- }
- for (UpdateNode lc : l.getChildren()) {
- if (!comparable.containsLeft(lc))
- lc.setVisible(false);
- }
- for (Entry<UpdateNode, UpdateNode> entry : comparable.getEntries()) {
- applyVisibleFlags(entry.getKey(), entry.getValue());
- }
- }
-
- private void applyVisibleFlags(Collection<PropertyChange> l, Collection<PropertyChange> r) {
- BijectionMap<PropertyChange, PropertyChange> comparable = new BijectionMap<>();
- for (PropertyChange lc : l) {
- for (PropertyChange rc : r) {
- if (comparable.containsRight(rc))
- continue;
- if (lc.getFirst().equals(rc.getFirst())) {
- comparable.map(lc, rc);
- break;
- }
- }
- }
- for (PropertyChange lc : l) {
- if (!comparable.containsLeft(lc))
- lc.setVisible(false);
- }
-
- }
-