Brian O'Connor
Committed by Gerrit Code Review

Adding ready() to IntentAccumulator

Change-Id: I34dc32c1a416629afbf3ba1f5b65d6a764e55fd6
...@@ -42,6 +42,8 @@ public class IntentAccumulator extends AbstractAccumulator<IntentData> { ...@@ -42,6 +42,8 @@ public class IntentAccumulator extends AbstractAccumulator<IntentData> {
42 42
43 private final IntentBatchDelegate delegate; 43 private final IntentBatchDelegate delegate;
44 44
45 + private volatile boolean ready;
46 +
45 /** 47 /**
46 * Creates an intent operation accumulator. 48 * Creates an intent operation accumulator.
47 * 49 *
...@@ -50,13 +52,14 @@ public class IntentAccumulator extends AbstractAccumulator<IntentData> { ...@@ -50,13 +52,14 @@ public class IntentAccumulator extends AbstractAccumulator<IntentData> {
50 protected IntentAccumulator(IntentBatchDelegate delegate) { 52 protected IntentAccumulator(IntentBatchDelegate delegate) {
51 super(TIMER, DEFAULT_MAX_EVENTS, DEFAULT_MAX_BATCH_MS, DEFAULT_MAX_IDLE_MS); 53 super(TIMER, DEFAULT_MAX_EVENTS, DEFAULT_MAX_BATCH_MS, DEFAULT_MAX_IDLE_MS);
52 this.delegate = delegate; 54 this.delegate = delegate;
55 + // Assume that the delegate is ready for work at the start
56 + ready = true; //TODO validate the assumption that delegate is ready
53 } 57 }
54 58
55 @Override 59 @Override
56 public void processItems(List<IntentData> items) { 60 public void processItems(List<IntentData> items) {
61 + ready = false;
57 delegate.execute(reduce(items)); 62 delegate.execute(reduce(items));
58 - // FIXME kick off the work
59 - //for (IntentData data : opMap.values()) {}
60 } 63 }
61 64
62 private Collection<IntentData> reduce(List<IntentData> ops) { 65 private Collection<IntentData> reduce(List<IntentData> ops) {
...@@ -67,4 +70,13 @@ public class IntentAccumulator extends AbstractAccumulator<IntentData> { ...@@ -67,4 +70,13 @@ public class IntentAccumulator extends AbstractAccumulator<IntentData> {
67 //TODO check the version... or maybe store will handle this. 70 //TODO check the version... or maybe store will handle this.
68 return map.values(); 71 return map.values();
69 } 72 }
73 +
74 + @Override
75 + public boolean isReady() {
76 + return ready;
77 + }
78 +
79 + public void ready() {
80 + ready = true;
81 + }
70 } 82 }
......
...@@ -317,6 +317,7 @@ public class IntentManager ...@@ -317,6 +317,7 @@ public class IntentManager
317 //FIXME 317 //FIXME
318 // batchService.removeIntentOperations(data); 318 // batchService.removeIntentOperations(data);
319 } 319 }
320 + accumulator.ready();
320 } 321 }
321 322
322 private List<Future<FinalIntentProcessPhase>> createIntentUpdates() { 323 private List<Future<FinalIntentProcessPhase>> createIntentUpdates() {
......