Skip to content
Snippets Groups Projects
Commit 588452cd authored by C. Alexander Leigh's avatar C. Alexander Leigh
Browse files

lc-eo-changestream: Added change number tracking

parent 5e005c30
No related branches found
No related tags found
No related merge requests found
......@@ -9,11 +9,24 @@ import java.io.Serializable;
import java.util.HashSet;
public class ChangeStream implements EditTracker {
private int changeNumber;
private final HashSet<EO> objectsDirty = new HashSet<>();
private final HashSet<EOLoop> loopsDirty = new HashSet<>();
private final HashSet<EO> objectsRemoved = new HashSet<>();
private final HashSet<EO> objectsAdded = new HashSet<>();
public void commit() {
objectsDirty.clear();
loopsDirty.clear();
objectsRemoved.clear();
objectsAdded.clear();
changeNumber++;
}
public int getChangeNumber() {
return changeNumber;
}
@Override
public void attributeUpdate(EO eo, String key, Serializable oldValue, Serializable newValue, EOListener listener) {
if (objectsAdded.contains(eo)) return;
......
......@@ -15,4 +15,14 @@ public class ChangeStreamTest {
assertEquals(0, cs.getObjectsDirty().size());
assertEquals(1, cs.getObjectsAdded().size());
}
@Test
public void testChangeNumber() {
ChangeStream cs = new ChangeStream();
EO base = new EO();
base.setEditTracker(cs);
assertEquals(0, cs.getChangeNumber());
cs.commit();
assertEquals(1, cs.getChangeNumber());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment