Sho SHIMIZU
Committed by Gerrit Code Review

Refactor: remove an extra inner class, IntentBatchProcess

IntentBatchProcess wraps a collection of IntentData to just behave
as Runnable. It can be removed by lambda expression

Change-Id: Ic6e1ae840311faff6314a8ce9db9a5277d8595cd
...@@ -301,16 +301,14 @@ public class IntentManager ...@@ -301,16 +301,14 @@ public class IntentManager
301 }); 301 });
302 } 302 }
303 303
304 - private class IntentBatchProcess implements Runnable { 304 + private class InternalBatchDelegate implements IntentBatchDelegate {
305 -
306 - protected final Collection<IntentData> data;
307 -
308 - IntentBatchProcess(Collection<IntentData> data) {
309 - this.data = checkNotNull(data);
310 - }
311 -
312 @Override 305 @Override
313 - public void run() { 306 + public void execute(Collection<IntentData> operations) {
307 + log.debug("Execute {} operation(s).", operations.size());
308 + log.trace("Execute operations: {}", operations);
309 +
310 + // batchExecutor is single-threaded, so only one batch is in flight at a time
311 + batchExecutor.execute(() -> {
314 try { 312 try {
315 /* 313 /*
316 1. wrap each intentdata in a runnable and submit 314 1. wrap each intentdata in a runnable and submit
...@@ -318,7 +316,7 @@ public class IntentManager ...@@ -318,7 +316,7 @@ public class IntentManager
318 3. accumulate results and submit batch write of IntentData to store 316 3. accumulate results and submit batch write of IntentData to store
319 (we can also try to update these individually) 317 (we can also try to update these individually)
320 */ 318 */
321 - submitUpdates(waitForFutures(createIntentUpdates())); 319 + submitUpdates(waitForFutures(createIntentUpdates(operations)));
322 } catch (Exception e) { 320 } catch (Exception e) {
323 log.error("Error submitting batches:", e); 321 log.error("Error submitting batches:", e);
324 // FIXME incomplete Intents should be cleaned up 322 // FIXME incomplete Intents should be cleaned up
...@@ -331,9 +329,11 @@ public class IntentManager ...@@ -331,9 +329,11 @@ public class IntentManager
331 // batchService.removeIntentOperations(data); 329 // batchService.removeIntentOperations(data);
332 } 330 }
333 accumulator.ready(); 331 accumulator.ready();
332 + });
333 + }
334 } 334 }
335 335
336 - private List<Future<FinalIntentProcessPhase>> createIntentUpdates() { 336 + private List<Future<FinalIntentProcessPhase>> createIntentUpdates(Collection<IntentData> data) {
337 return data.stream() 337 return data.stream()
338 .map(IntentManager.this::submitIntentData) 338 .map(IntentManager.this::submitIntentData)
339 .collect(Collectors.toList()); 339 .collect(Collectors.toList());
...@@ -357,18 +357,6 @@ public class IntentManager ...@@ -357,18 +357,6 @@ public class IntentManager
357 .map(FinalIntentProcessPhase::data) 357 .map(FinalIntentProcessPhase::data)
358 .collect(Collectors.toList())); 358 .collect(Collectors.toList()));
359 } 359 }
360 - }
361 -
362 - private class InternalBatchDelegate implements IntentBatchDelegate {
363 - @Override
364 - public void execute(Collection<IntentData> operations) {
365 - log.debug("Execute {} operation(s).", operations.size());
366 - log.trace("Execute operations: {}", operations);
367 -
368 - // batchExecutor is single-threaded, so only one batch is in flight at a time
369 - batchExecutor.execute(new IntentBatchProcess(operations));
370 - }
371 - }
372 360
373 private class InternalIntentProcessor implements IntentProcessor { 361 private class InternalIntentProcessor implements IntentProcessor {
374 @Override 362 @Override
......