@Test public void testFutureComplete() { final AtomicInteger count = new AtomicInteger(); Completion<String> completion = Completion.future(new Callable<String>() { public String call() throws Exception { count.incrementAndGet(); return "foo"; } }); assertEquals(0, count.get()); assertEquals("foo", completion.get()); assertEquals(1, count.get()); assertEquals("foo", completion.get()); assertEquals(1, count.get()); assertEquals(null, completion.getCause()); assertEquals(1, count.get()); assertEquals(false, completion.isFailed()); assertEquals(1, count.get()); }
@Test public void testFutureComplete() { final AtomicInteger count = new AtomicInteger(); Completion<String> completion = Completion.future(new Callable<String>() { public String call() throws Exception { count.incrementAndGet(); return "foo"; } }); assertEquals(0, count.get()); assertEquals("foo", completion.get()); assertEquals(1, count.get()); assertEquals("foo", completion.get()); assertEquals(1, count.get()); assertEquals(null, completion.getCause()); assertEquals(1, count.get()); assertEquals(false, completion.isFailed()); assertEquals(1, count.get()); }
@Test public void testFutureFails() { final Exception reason = new Exception(); final AtomicInteger count = new AtomicInteger(); Completion<String> completion = Completion.future(new Callable<String>() { public String call() throws Exception { count.incrementAndGet(); throw reason; } }); assertEquals(0, count.get()); assertEquals(null, completion.get()); assertEquals(1, count.get()); assertEquals(null, completion.get()); assertEquals(1, count.get()); assertEquals(reason, completion.getCause()); assertEquals(1, count.get()); assertEquals(true, completion.isFailed()); assertEquals(1, count.get()); } }
@Test public void testFutureFails() { final Exception reason = new Exception(); final AtomicInteger count = new AtomicInteger(); Completion<String> completion = Completion.future(new Callable<String>() { public String call() throws Exception { count.incrementAndGet(); throw reason; } }); assertEquals(0, count.get()); assertEquals(null, completion.get()); assertEquals(1, count.get()); assertEquals(null, completion.get()); assertEquals(1, count.get()); assertEquals(reason, completion.getCause()); assertEquals(1, count.get()); assertEquals(true, completion.isFailed()); assertEquals(1, count.get()); } }
if (refresh.isFailed()) { throw refresh.getCause(); } else if (refresh.get()) { if (handler != null) { Tools.safeClose(handler);
if (refresh.isFailed()) { throw refresh.getCause(); } else if (refresh.get()) { if (handler != null) { Tools.safeClose(handler);