List of usage examples for java.util.concurrent.atomic AtomicBoolean get
public final boolean get()
From source file:biz.ganttproject.impex.csv.CsvImportTest.java
public void testTwoGroups() throws Exception { String header1 = "A, B"; String data1 = "a1, b1"; final AtomicBoolean wasCalled1 = new AtomicBoolean(false); RecordGroup recordGroup1 = new RecordGroup("AB", ImmutableSet.<String>of("A", "B")) { @Override/* w w w . j av a 2 s.c o m*/ protected boolean doProcess(CSVRecord record) { if (!super.doProcess(record)) { return false; } assertEquals("a1", record.get("A")); assertEquals("b1", record.get("B")); wasCalled1.set(true); return true; } }; String header2 = "C, D, E"; String data2 = "c1, d1, e1"; final AtomicBoolean wasCalled2 = new AtomicBoolean(false); RecordGroup recordGroup2 = new RecordGroup("CDE", ImmutableSet.<String>of("C", "D", "E")) { @Override protected boolean doProcess(CSVRecord record) { if (!super.doProcess(record)) { return false; } assertEquals("c1", record.get("C")); assertEquals("d1", record.get("D")); assertEquals("e1", record.get("E")); wasCalled2.set(true); return true; } }; GanttCSVOpen importer = new GanttCSVOpen( createSupplier(Joiner.on('\n').join(header1, data1, "", header2, data2)), recordGroup1, recordGroup2); importer.load(); assertTrue(wasCalled1.get() && wasCalled2.get()); }
From source file:nl.knaw.huc.di.tag.tagml.importer.TAGMLListener.java
private boolean nameContextIsValid(final ParserRuleContext ctx, final NameContext nameContext, final LayerInfoContext layerInfoContext) { AtomicBoolean valid = new AtomicBoolean(true); if (layerInfoContext != null) { layerInfoContext.layerName().stream().map(LayerNameContext::getText).forEach(lid -> { // if (!document.getLayerNames().contains(lid)) { // valid.set(false); // errorListener.addError( // "%s Layer %s is undefined at this point.", // errorPrefix(ctx), lid); // } });//ww w.j av a 2 s.co m } if (nameContext == null || nameContext.getText().isEmpty()) { errorListener.addError("%s Nameless markup is not allowed here.", errorPrefix(ctx)); valid.set(false); } return valid.get(); }
From source file:ch.cyberduck.ui.cocoa.PromptLimitedListProgressListener.java
@Override public void chunk(final Path parent, final AttributedList<Path> list) throws ListCanceledException { if (suppressed) { return;// w w w . ja va 2 s . c o m } try { super.chunk(parent, list); } catch (ListCanceledException e) { if (controller.isVisible()) { final AtomicBoolean c = new AtomicBoolean(true); final NSAlert alert = NSAlert.alert( MessageFormat.format(LocaleFactory.localizedString("Listing directory {0}", "Status"), StringUtils.EMPTY), MessageFormat.format( LocaleFactory.localizedString( "Continue listing directory with more than {0} files.", "Alert"), e.getChunk().size()), LocaleFactory.localizedString("Continue", "Credentials"), null, LocaleFactory.localizedString("Cancel")); alert.setShowsSuppressionButton(true); alert.suppressionButton().setTitle(LocaleFactory.localizedString("Always")); final AlertController sheet = new AlertController(controller, alert) { @Override public void callback(final int returncode) { if (returncode == SheetCallback.DEFAULT_OPTION) { suppressed = true; } if (returncode == SheetCallback.CANCEL_OPTION) { c.set(false); } if (alert.suppressionButton().state() == NSCell.NSOnState) { disable(); } } }; sheet.beginSheet(); if (!c.get()) { throw e; } } } }
From source file:anhttpserver.ServerTest.java
@Test public void multiThreadContextIsolationTest() throws Exception { final String res1 = "1111111111"; final String res2 = "1"; final String TEST_HEADER = "TEST-HEADER"; final AtomicBoolean testPassed = new AtomicBoolean(true); class ThreadTestHttpHandlerAdapter extends ByteArrayHandlerAdapter { private String result; private int timeToSleep; ThreadTestHttpHandlerAdapter(String result, int timeToSleep) { this.result = result; this.timeToSleep = timeToSleep; }/*from ww w . ja v a 2 s .c om*/ @Override public byte[] getResponseAsByteArray(HttpRequestContext httpRequestContext) throws IOException { setResponseHeader(TEST_HEADER, result, httpRequestContext); try { Thread.sleep(timeToSleep); } catch (InterruptedException e) { throw new RuntimeException(e); } return result.getBytes(); } } class ThreadTester implements Runnable { private String url; private String result; private int repeatCount; ThreadTester(String url, String result, int repeatCount) { this.url = url; this.result = result; this.repeatCount = repeatCount; } public void run() { try { for (int i = 0; i < repeatCount; i++) { if (!testPassed.get()) { return; } URLConnection connection = getConnection(url); String headerValue = connection.getHeaderField(TEST_HEADER); if (!headerValue.equals(result)) { testPassed.set(false); return; } if (!getResult(connection).equals(result)) { testPassed.set(false); return; } } } catch (Exception e) { testPassed.set(false); } } } server.addHandler("/thread1", new ThreadTestHttpHandlerAdapter(res1, 0)); server.addHandler("/thread2", new ThreadTestHttpHandlerAdapter(res2, 1)); int count = 50; Thread[] threads = new Thread[count]; String url1 = "http://localhost:9999/thread1"; String url2 = "http://localhost:9999/thread2"; for (int i = 0; i < count; i++) { threads[i] = new Thread(new ThreadTester(i % 2 == 0 ? url1 : url2, i % 2 == 0 ? res1 : res2, 20)); threads[i].start(); } for (int i = 0; i < count; i++) { threads[i].join(); } assertTrue(testPassed.get()); }
From source file:com.eventsourcing.repository.RepositoryTest.java
@Test @SneakyThrows//from w ww . j av a 2 s . c o m public void subscribe() { final AtomicBoolean gotEvent = new AtomicBoolean(); final AtomicBoolean gotCommand = new AtomicBoolean(); repository.addEntitySubscriber(new ClassEntitySubscriber<TestEvent>(TestEvent.class) { @Override public void onEntity(EntityHandle<TestEvent> entity) { gotEvent.set(journal.get(entity.uuid()).isPresent()); } }); repository .addEntitySubscriber(new ClassEntitySubscriber<RepositoryTestCommand>(RepositoryTestCommand.class) { @Override public void onEntity(EntityHandle<RepositoryTestCommand> entity) { gotCommand.set(journal.get(entity.uuid()).isPresent()); } }); repository.publish(RepositoryTestCommand.builder().build()).get(); assertTrue(gotEvent.get()); assertTrue(gotCommand.get()); }
From source file:io.druid.segment.realtime.plumber.RealtimePlumberSchoolTest.java
private void testPersistHydrantGapsHelper(final Object commitMetadata) throws Exception { final AtomicBoolean committed = new AtomicBoolean(false); Interval testInterval = new Interval(new DateTime("1970-01-01"), new DateTime("1971-01-01")); RealtimePlumber plumber2 = (RealtimePlumber) realtimePlumberSchool.findPlumber(schema2, tuningConfig, metrics);//from ww w . j a va 2 s . c o m plumber2.getSinks().put(0L, new Sink(testInterval, schema2, tuningConfig, new DateTime("2014-12-01T12:34:56.789").toString())); Assert.assertNull(plumber2.startJob()); final Committer committer = new Committer() { @Override public Object getMetadata() { return commitMetadata; } @Override public void run() { committed.set(true); } }; plumber2.add(getTestInputRow("1970-01-01"), Suppliers.ofInstance(committer)); plumber2.add(getTestInputRow("1970-02-01"), Suppliers.ofInstance(committer)); plumber2.add(getTestInputRow("1970-03-01"), Suppliers.ofInstance(committer)); plumber2.add(getTestInputRow("1970-04-01"), Suppliers.ofInstance(committer)); plumber2.add(getTestInputRow("1970-05-01"), Suppliers.ofInstance(committer)); plumber2.persist(committer); while (!committed.get()) { Thread.sleep(100); } plumber2.getSinks().clear(); plumber2.finishJob(); File persistDir = plumber2.computePersistDir(schema2, testInterval); /* Check that all hydrants were persisted */ for (int i = 0; i < 5; i++) { Assert.assertTrue(new File(persistDir, String.valueOf(i)).exists()); } /* Create some gaps in the persisted hydrants and reload */ FileUtils.deleteDirectory(new File(persistDir, "1")); FileUtils.deleteDirectory(new File(persistDir, "3")); RealtimePlumber restoredPlumber = (RealtimePlumber) realtimePlumberSchool.findPlumber(schema2, tuningConfig, metrics); restoredPlumber.bootstrapSinksFromDisk(); Map<Long, Sink> sinks = restoredPlumber.getSinks(); Assert.assertEquals(1, sinks.size()); List<FireHydrant> hydrants = Lists.newArrayList(sinks.get(new Long(0))); DateTime startTime = new DateTime("1970-01-01T00:00:00.000Z"); Assert.assertEquals(0, hydrants.get(0).getCount()); Assert.assertEquals(new Interval(startTime, new DateTime("1970-01-01T00:00:00.001Z")), hydrants.get(0).getSegment().getDataInterval()); Assert.assertEquals(2, hydrants.get(1).getCount()); Assert.assertEquals(new Interval(startTime, new DateTime("1970-03-01T00:00:00.001Z")), hydrants.get(1).getSegment().getDataInterval()); Assert.assertEquals(4, hydrants.get(2).getCount()); Assert.assertEquals(new Interval(startTime, new DateTime("1970-05-01T00:00:00.001Z")), hydrants.get(2).getSegment().getDataInterval()); /* Delete all the hydrants and reload, no sink should be created */ FileUtils.deleteDirectory(new File(persistDir, "0")); FileUtils.deleteDirectory(new File(persistDir, "2")); FileUtils.deleteDirectory(new File(persistDir, "4")); RealtimePlumber restoredPlumber2 = (RealtimePlumber) realtimePlumberSchool.findPlumber(schema2, tuningConfig, metrics); restoredPlumber2.bootstrapSinksFromDisk(); Assert.assertEquals(0, restoredPlumber2.getSinks().size()); }
From source file:com.google.dart.java2dart.Context.java
/** * In Java we can have method parameter "foo" and invoke method named "foo", and parameter will * not shadow invoked method. But in Dart it will. *///from w ww . jav a 2 s .c o m public void ensureMethodParameterDoesNotHide(CompilationUnit unit) { unit.accept(new RecursiveASTVisitor<Void>() { @Override public Void visitMethodDeclaration(MethodDeclaration node) { FormalParameterList parameterList = node.getParameters(); if (parameterList != null) { for (FormalParameter parameter : parameterList.getParameters()) { final String parameterName = parameter.getIdentifier().getName(); final Object parameterBinding = getNodeBinding(parameter.getIdentifier()); final AtomicBoolean hasHiding = new AtomicBoolean(); node.accept(new RecursiveASTVisitor<Void>() { @Override public Void visitSimpleIdentifier(SimpleIdentifier node) { if (node.getName().equals(parameterName) && getNodeBinding(node) != parameterBinding) { hasHiding.set(true); } return super.visitSimpleIdentifier(node); } }); if (hasHiding.get()) { Set<String> used = getSuperMembersNames(node); String newName = generateUniqueParameterName(used, parameterName); renameIdentifier(parameter.getIdentifier(), newName); } } } return super.visitMethodDeclaration(node); } private String generateUniqueParameterName(Set<String> used, String name) { int index = 2; while (true) { String newName = name + index; if (!used.contains(newName)) { return newName; } index++; } } }); }
From source file:io.nats.client.ITClusterTest.java
@Test public void testProperFalloutAfterMaxAttemptsWithAuthMismatch() throws Exception { final String[] myServers = { "nats://localhost:1222", "nats://localhost:4443" }; Options opts = new Options.Builder(defaultOptions()).dontRandomize().maxReconnect(5) .reconnectWait(25, TimeUnit.MILLISECONDS).build(); opts.servers = Nats.processUrlArray(myServers); final CountDownLatch dcLatch = new CountDownLatch(1); opts.disconnectedCb = new DisconnectedCallback() { public void onDisconnect(ConnectionEvent event) { dcLatch.countDown();/*from ww w . j a v a2s . co m*/ } }; final AtomicBoolean closedCbCalled = new AtomicBoolean(false); final CountDownLatch ccLatch = new CountDownLatch(1); opts.closedCb = new ClosedCallback() { public void onClose(ConnectionEvent event) { closedCbCalled.set(true); ccLatch.countDown(); } }; try (NatsServer s1 = runServerOnPort(1222)) { try (NatsServer s2 = runServerWithConfig("tlsverify.conf")) { try (ConnectionImpl nc = (ConnectionImpl) opts.connect()) { s1.shutdown(); // wait for disconnect assertTrue("Did not receive a disconnect callback message", await(dcLatch, 5, TimeUnit.SECONDS)); // Wait for ClosedCB assertTrue("Did not receive a closed callback message", await(ccLatch, 5, TimeUnit.SECONDS)); // Make sure we are not still reconnecting. assertTrue("Closed CB was not triggered, should have been.", closedCbCalled.get()); // Make sure we have not exceeded MaxReconnect assertEquals("Wrong number of reconnects", nc.getOptions().getMaxReconnect(), nc.getStats().getReconnects()); // Make sure we are not still reconnecting assertTrue("Closed CB was not triggered, should have been.", closedCbCalled.get()); // Expect connection to be closed... assertTrue("Wrong status: " + nc.getState(), nc.isClosed()); } } } }
From source file:ch.cyberduck.core.pool.DefaultSessionPoolTest.java
@Test public void testCheckReconnectApplicationFailure() throws Exception { final AtomicBoolean interrupt = new AtomicBoolean(); final Host bookmark = new Host(new TestProtocol()); final TestLoginConnectionService connect = new TestLoginConnectionService() { @Override/* ww w . j av a 2 s . c o m*/ public boolean check(final Session<?> session, final Cache<Path> cache, final CancelCallback callback) throws BackgroundException { return true; } }; final DefaultSessionPool pool = new DefaultSessionPool(connect, new DefaultVaultRegistry(new DisabledPasswordCallback()), PathCache.empty(), new DisabledTranscriptListener(), bookmark, new GenericObjectPool<Session>(new PooledSessionFactory(connect, new DisabledX509TrustManager(), new DefaultX509KeyManager(), PathCache.empty(), bookmark, new DefaultVaultRegistry(new DisabledPasswordCallback())) { @Override public Session create() { return new NullSession(bookmark) { @Override public void interrupt() throws BackgroundException { interrupt.set(true); super.interrupt(); } }; } })); final Session<?> session = pool.borrow(BackgroundActionState.running); pool.release(session, new BackgroundException("m", "d")); assertFalse(interrupt.get()); }
From source file:com.jeremydyer.nifi.processors.barcode.BarcodeScannerProcessor.java
@Override public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { final FlowFile flowFile = session.get(); if (flowFile == null) { return;//from ww w . j a v a 2 s. c o m } final AtomicBoolean errors = new AtomicBoolean(false); switch (context.getProperty(DESTINATION).getValue()) { case DESTINATION_ATTRIBUTE: final AtomicReference<String> BC = new AtomicReference<>(); session.read(flowFile, new InputStreamCallback() { @Override public void process(InputStream inputStream) throws IOException { Map hintMap = new HashMap(); hintMap.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); try { BufferedImage barCodeBufferedImage = ImageIO.read(inputStream); LuminanceSource source = new BufferedImageLuminanceSource(barCodeBufferedImage); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Reader reader = new MultiFormatReader(); Result result = reader.decode(bitmap, hintMap); BC.set(result.getText()); } catch (Exception ex) { ex.printStackTrace(); //session.transfer(flowFile, REL_FAILURE); errors.set(true); } } }); if (StringUtils.isNotEmpty(BC.get())) { FlowFile atFlowFile = session.putAttribute(flowFile, BARCODE_ATTRIBUTE_NAME, BC.get()); if (!errors.get()) { session.transfer(atFlowFile, REL_SUCCESS); } else { session.transfer(atFlowFile, REL_FAILURE); } } else { if (!errors.get()) { session.transfer(flowFile, REL_SUCCESS); } else { session.transfer(flowFile, REL_FAILURE); } } break; case DESTINATION_CONTENT: FlowFile conFlowFile = session.write(flowFile, new StreamCallback() { @Override public void process(InputStream inputStream, OutputStream outputStream) throws IOException { Map hintMap = new HashMap(); hintMap.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); try { BufferedImage barCodeBufferedImage = ImageIO.read(inputStream); LuminanceSource source = new BufferedImageLuminanceSource(barCodeBufferedImage); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Reader reader = new MultiFormatReader(); Result result = reader.decode(bitmap, hintMap); getLogger().info("Barcode Format: " + result.getBarcodeFormat().toString()); getLogger().info("Barcode Text is: ' " + result.getText() + "'"); outputStream.write(result.getText().getBytes()); } catch (Exception ex) { ex.printStackTrace(); //session.transfer(flowFile, REL_FAILURE); errors.set(true); } } }); if (!errors.get()) { session.transfer(conFlowFile, REL_SUCCESS); } else { session.transfer(conFlowFile, REL_FAILURE); } break; } }