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

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

Introduction

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

Prototype

public final V get() 

Source Link

Document

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

Usage

From source file:com.quartercode.eventbridge.test.def.extra.extension.DefaultReturnEventExtensionReturnerTest.java

@SuppressWarnings("unchecked")
@Test/*from   ww  w.j av  a 2s  .  co  m*/
public void testCallRequestHandlerWrongTypeInPredicate() {

    final EventPredicate<Event> predicate = context.mock(EventPredicate.class);
    final EventPredicate<?> wrapperPredicate = new ReturnEventExtensionWrapperPredicate(predicate);
    final RequestEventHandler<CallableEvent> handler = new RequestEventHandler<CallableEvent>() {

        @Override
        public void handle(CallableEvent request, ReturnEventSender sender) {

            // Provoke a ClassCastException
            request.call();
        }

    };

    final AtomicReference<LowLevelHandler> lowLevelHandler = new AtomicReference<>();

    // @formatter:off
    context.checking(new Expectations() {
        {

            oneOf(lowLevelHandlerModule).addHandler(with(aLowLevelHandlerWithThePredicate(wrapperPredicate)));
            will(storeArgument(0).in(lowLevelHandler));

        }
    });
    // @formatter:on

    extension.addRequestHandler(handler, predicate);

    lowLevelHandler.get().handle(new ReturnEventExtensionWrapper(new EmptyEvent1(), 0, true), null);
}

From source file:org.apache.carbondata.tool.ScanBenchmark.java

@Override
public void run(CommandLine line) throws IOException, MemoryException {
    if (line.hasOption("f")) {
        String filePath = line.getOptionValue("f");
        file = new DataFile(FileFactory.getCarbonFile(filePath));
    } else {/*w w w  .j  a  v a2  s.  c  o m*/
        FileCollector collector = new FileCollector(outPuts);
        collector.collectFiles(dataFolder);
        if (collector.getNumDataFiles() == 0) {
            return;
        }
        Map<String, DataFile> dataFiles = collector.getDataFiles();
        Iterator<DataFile> iterator = dataFiles.values().iterator();
        // use the first file and close the rest
        file = iterator.next();
        while (iterator.hasNext()) {
            iterator.next().close();
        }
    }

    outPuts.add("\n## Benchmark");
    final AtomicReference<FileHeader> fileHeaderRef = new AtomicReference<>();
    final AtomicReference<FileFooter3> fileFoorterRef = new AtomicReference<>();
    final AtomicReference<DataFileFooter> convertedFooterRef = new AtomicReference<>();

    // benchmark read header and footer time
    benchmarkOperation("ReadHeaderAndFooter", new Operation() {
        @Override
        public void run() throws IOException, MemoryException {
            fileHeaderRef.set(file.readHeader());
            fileFoorterRef.set(file.readFooter());
        }
    });
    final FileHeader fileHeader = fileHeaderRef.get();
    final FileFooter3 fileFooter = fileFoorterRef.get();

    // benchmark convert footer
    benchmarkOperation("ConvertFooter", new Operation() {
        @Override
        public void run() throws IOException, MemoryException {
            convertFooter(fileHeader, fileFooter);
        }
    });

    // benchmark read all meta and convert footer
    benchmarkOperation("ReadAllMetaAndConvertFooter", new Operation() {
        @Override
        public void run() throws IOException, MemoryException {
            DataFileFooter footer = readAndConvertFooter(file);
            convertedFooterRef.set(footer);
        }
    });

    if (line.hasOption("c")) {
        String columnName = line.getOptionValue("c");
        outPuts.add("\nScan column '" + columnName + "'");

        final DataFileFooter footer = convertedFooterRef.get();
        final AtomicReference<AbstractRawColumnChunk> columnChunk = new AtomicReference<>();
        final int columnIndex = file.getColumnIndex(columnName);
        final boolean dimension = file.getColumn(columnName).isDimensionColumn();
        for (int i = 0; i < footer.getBlockletList().size(); i++) {
            final int blockletId = i;
            outPuts.add(String.format("Blocklet#%d: total size %s, %,d pages, %,d rows", blockletId,
                    Strings.formatSize(file.getColumnDataSizeInBytes(blockletId, columnIndex)),
                    footer.getBlockletList().get(blockletId).getNumberOfPages(),
                    footer.getBlockletList().get(blockletId).getNumberOfRows()));
            benchmarkOperation("\tColumnChunk IO", new Operation() {
                @Override
                public void run() throws IOException, MemoryException {
                    columnChunk.set(readBlockletColumnChunkIO(footer, blockletId, columnIndex, dimension));
                }
            });

            if (dimensionColumnChunkReader != null) {
                benchmarkOperation("\tDecompress Pages", new Operation() {
                    @Override
                    public void run() throws IOException, MemoryException {
                        decompressDimensionPages(columnChunk.get(),
                                footer.getBlockletList().get(blockletId).getNumberOfPages());
                    }
                });
            } else {
                benchmarkOperation("\tDecompress Pages", new Operation() {
                    @Override
                    public void run() throws IOException, MemoryException {
                        decompressMeasurePages(columnChunk.get(),
                                footer.getBlockletList().get(blockletId).getNumberOfPages());
                    }
                });
            }
        }
    }
    file.close();
}

From source file:org.elasticsearch.xpack.test.rest.XPackRestIT.java

/**
 * Executes an API call using the admin context, waiting for it to succeed.
 *///from   ww w  .  java  2s  .c om
private void awaitCallApi(String apiName, Map<String, String> params, List<Map<String, Object>> bodies,
        CheckedFunction<ClientYamlTestResponse, Boolean, IOException> success, Supplier<String> error)
        throws Exception {

    AtomicReference<IOException> exceptionHolder = new AtomicReference<>();
    awaitBusy(() -> {
        try {
            ClientYamlTestResponse response = callApi(apiName, params, bodies, getApiCallHeaders());
            if (response.getStatusCode() == HttpStatus.SC_OK) {
                exceptionHolder.set(null);
                return success.apply(response);
            }
            return false;
        } catch (IOException e) {
            exceptionHolder.set(e);
        }
        return false;
    });

    IOException exception = exceptionHolder.get();
    if (exception != null) {
        throw new IllegalStateException(error.get(), exception);
    }
}

From source file:org.zodiark.service.subscriber.SubscriberServiceImpl.java

public PublisherEndpoint retrieve(final String uuid) {
    // TODO: This won't work asynchronous
    final AtomicReference<PublisherEndpoint> publisher = new AtomicReference<>(null);
    eventBus.message(RETRIEVE_PUBLISHER, uuid, new Reply<PublisherEndpoint, String>() {
        @Override/* w ww .j  a v a2s.c  om*/
        public void ok(PublisherEndpoint p) {
            publisher.set(p);
        }

        @Override
        public void fail(ReplyException replyException) {
            logger.error("Unable to retrieve publisher {}", uuid);
        }
    });
    return publisher.get();
}

From source file:com.jayway.restassured.module.mockmvc.ContentTypeTest.java

@Test
public void doesnt_add_default_charset_to_content_type_if_configured_not_to_do_so() {
    final AtomicReference<String> contentType = new AtomicReference<String>();

    given().config(RestAssuredMockMvcConfig.config()
            .encoderConfig(encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false)))
            .standaloneSetup(new GreetingController()).contentType(ContentType.JSON)
            .interceptor(new MockHttpServletRequestBuilderInterceptor() {
                public void intercept(MockHttpServletRequestBuilder requestBuilder) {
                    MultiValueMap<String, Object> headers = Whitebox.getInternalState(requestBuilder,
                            "headers");
                    contentType.set(String.valueOf(headers.getFirst("Content-Type")));
                }/* ww w.j a  va  2  s.  com*/
            }).when().get("/greeting?name={name}", "Johan").then().statusCode(200);

    assertThat(contentType.get()).isEqualTo("application/json");
}

From source file:org.apache.accumulo.test.functional.ZooCacheIT.java

@Test
public void test() throws Exception {
    assertEquals(0, exec(CacheTestClean.class, pathName, testDir.getAbsolutePath()).waitFor());
    final AtomicReference<Exception> ref = new AtomicReference<Exception>();
    List<Thread> threads = new ArrayList<Thread>();
    for (int i = 0; i < 3; i++) {
        Thread reader = new Thread() {
            @Override//from  ww  w .  j a  va  2 s.  co m
            public void run() {
                try {
                    CacheTestReader.main(new String[] { pathName, testDir.getAbsolutePath(),
                            getConnector().getInstance().getZooKeepers() });
                } catch (Exception ex) {
                    ref.set(ex);
                }
            }
        };
        reader.start();
        threads.add(reader);
    }
    assertEquals(0, exec(CacheTestWriter.class, pathName, testDir.getAbsolutePath(), "3", "50").waitFor());
    for (Thread t : threads) {
        t.join();
        if (ref.get() != null)
            throw ref.get();
    }
}

From source file:com.networknt.openapi.ValidatorHandlerTest.java

@Test
public void testDeleteWithHeader() throws Exception {
    final Http2Client client = Http2Client.getInstance();
    final CountDownLatch latch = new CountDownLatch(1);
    final ClientConnection connection;
    try {/*  w  w  w .  j  av a2 s .c o  m*/
        connection = client.connect(new URI("http://localhost:8080"), Http2Client.WORKER, Http2Client.SSL,
                Http2Client.POOL, OptionMap.EMPTY).get();
    } catch (Exception e) {
        throw new ClientException(e);
    }
    final AtomicReference<ClientResponse> reference = new AtomicReference<>();
    try {
        ClientRequest request = new ClientRequest().setPath("/v1/pets/111").setMethod(Methods.DELETE);
        request.getRequestHeaders().put(new HttpString("key"), "key");
        connection.sendRequest(request, client.createClientCallback(reference, latch));
        latch.await();
    } catch (Exception e) {
        logger.error("Exception: ", e);
        throw new ClientException(e);
    } finally {
        IoUtils.safeClose(connection);
    }
    int statusCode = reference.get().getResponseCode();
    String body = reference.get().getAttachment(Http2Client.RESPONSE_BODY);
    Assert.assertEquals(200, statusCode);
    if (statusCode == 200) {
        Assert.assertNotNull(body);
        Assert.assertEquals("deletePetById", body);
    }
}

From source file:com.nesscomputing.httpserver.jetty.TestClasspathResourceHandler.java

@Test
public void testIfModified() throws Exception {
    final AtomicReference<String> holder = new AtomicReference<String>(null);
    final HttpClientResponseHandler<String> responseHandler = new ContentResponseHandler<String>(
            new StringContentConverter() {
                @Override//from   w w  w .ja  va 2  s.co m
                public String convert(final HttpClientResponse response, final InputStream inputStream)
                        throws IOException {
                    holder.set(response.getHeader("Last-Modified"));
                    return super.convert(response, inputStream);
                }
            });

    final String uri = baseUri + "/simple-content.txt";
    final String content = httpClient.get(uri, responseHandler).perform();

    Assert.assertNotNull(holder.get());
    Assert.assertEquals("this is simple content for a simple test\n", content);

    final HttpClientResponseHandler<String> responseHandler2 = new ContentResponseHandler<String>(
            new StringContentConverter() {
                @Override
                public String convert(final HttpClientResponse response, final InputStream inputStream)
                        throws IOException {
                    Assert.assertEquals(304, response.getStatusCode());
                    return null;
                }
            });

    final String content2 = httpClient.get(uri, responseHandler2).addHeader("If-Modified-Since", holder.get())
            .perform();

    Assert.assertNull(content2);

    // "Time zone names ('z') cannot be parsed."  so we hack it by hand, assuming GMT  >:(
    final DateTimeFormatter httpFormat = DateTimeFormat.forPattern("EEE, dd MMM YYYY HH:mm:ss");
    final long newModified = httpFormat.parseMillis(StringUtils.removeEnd(holder.get(), " GMT")) - 600000;
    httpClient.get(uri, Valid2xxContentConverter.DEFAULT_FAILING_RESPONSE_HANDLER)
            .addHeader("If-Modified-Since", httpFormat.print(newModified) + " GMT").perform();
}

From source file:io.restassured.itest.java.FilterITest.java

@Test
public void content_type_in_filter_contains_charset_by_default() {
    final AtomicReference<String> contentType = new AtomicReference<String>();

    given().filter(new Filter() {
        public Response filter(FilterableRequestSpecification requestSpec,
                FilterableResponseSpecification responseSpec, FilterContext ctx) {
            contentType.set(requestSpec.getContentType());
            return ctx.next(requestSpec, responseSpec);
        }//from ww  w.j  a va2 s.  c om
    }).formParam("firstName", "John").formParam("lastName", "Doe").when().post("/greet").then().statusCode(200);

    assertThat(contentType.get(), equalTo("application/x-www-form-urlencoded; charset=ISO-8859-1"));
}

From source file:io.termd.core.telnet.TelnetHandlerTest.java

@Test
public void testAcceptEcho() throws Exception {
    final AtomicReference<Boolean> serverValue = new AtomicReference<>();
    EchoOptionHandler optionHandler = new EchoOptionHandler(false, false, false, true);
    testOptionValue(() -> new TelnetHandler() {
        @Override/*from  w  w w .j  a v a  2 s . c o m*/
        protected void onOpen(TelnetConnection conn) {
            conn.writeWillOption(Option.ECHO);
        }

        @Override
        protected void onEcho(boolean echo) {
            serverValue.set(echo);
            testComplete();
        }
    }, optionHandler);
    assertEquals(true, serverValue.get());
    assertEquals(true, optionHandler.getAcceptRemote());
}