Example usage for java.util.concurrent.atomic AtomicBoolean get

List of usage examples for java.util.concurrent.atomic AtomicBoolean get

Introduction

In this page you can find the example usage for java.util.concurrent.atomic AtomicBoolean get.

Prototype

public final boolean get() 

Source Link

Document

Returns the current value, with memory effects as specified by VarHandle#getVolatile .

Usage

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;
    }
}