List of usage examples for java.util.concurrent.atomic AtomicReference AtomicReference
public AtomicReference()
From source file:de.sainth.recipe.backend.db.repositories.CookbookRepository.java
public Cookbook save(Cookbook cookbook) { AtomicReference<Cookbook> bu = new AtomicReference<>(); create.transaction(configuration -> { Long id = null;/*from w ww .j av a 2s. c om*/ if (cookbook.getId() != null) { id = using(configuration).select(COOKBOOKS.ID).from(COOKBOOKS) .where(COOKBOOKS.ID.eq(cookbook.getId())).forUpdate().fetchOneInto(Long.class); } CookbooksRecord cookbooksRecord; if (cookbook.getId() == null || id == null) { cookbooksRecord = using(configuration) .insertInto(COOKBOOKS, COOKBOOKS.NAME, COOKBOOKS.DESCRIPTION, COOKBOOKS.AUTHOR) .values(cookbook.getName(), cookbook.getDescription(), cookbook.getAuthor().getId()) .returning().fetchOne(); } else { cookbooksRecord = using(configuration).update(COOKBOOKS).set(COOKBOOKS.NAME, cookbook.getName()) .set(COOKBOOKS.DESCRIPTION, cookbook.getDescription()).returning().fetchOne(); } List<CookbookRecipe> cookbookRecipes = selectCookbookRecipes( cookbook.getRecipes().stream().map(CookbookRecipe::getId).collect(Collectors.toList()), cookbook.getAuthor().getId()); BatchBindStep batchInsert = using(configuration).batch( create.insertInto(COOKBOOKS_RECIPES, COOKBOOKS_RECIPES.COOKBOOK, COOKBOOKS_RECIPES.RECIPE) .values((Long) null, null)); for (CookbookRecipe r : cookbookRecipes) { batchInsert.bind(cookbooksRecord.getId(), r.getId()); } batchInsert.execute(); bu.set(new Cookbook(cookbooksRecord.getId(), cookbooksRecord.getName(), cookbooksRecord.getDescription(), cookbook.getAuthor(), cookbookRecipes)); }); return bu.get(); }
From source file:io.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>(); RestAssuredMockMvc.given()//from ww w . ja v a 2s.c o m .config(RestAssuredMockMvc.config().encoderConfig( 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"))); } }).when().get("/greeting?name={name}", "Johan").then().statusCode(200); assertThat(contentType.get()).isEqualTo("application/json"); }
From source file:com.github.pascalgn.jiracli.web.HttpClient.java
public HttpClient(final Console console) { this.credentials = new HashMap<String, Credentials>(); this.request = new AtomicReference<>(); this.baseUrl = new Supplier<String>() { @Override/*from w ww.ja va 2s.c o m*/ public String get(Set<Hint> hints) { return console.getBaseUrl(); } }; this.httpClient = createHttpClient(); this.httpClientContext = createHttpClientContext(console); console.onInterrupt(new Runnable() { @Override public void run() { HttpUriRequest req = request.get(); if (req != null) { req.abort(); } } }); }
From source file:com.networknt.openapi.JwtVerifyHandlerTest.java
@Test public void testWithRightScopeInIdToken() throws Exception { final Http2Client client = Http2Client.getInstance(); final CountDownLatch latch = new CountDownLatch(1); final ClientConnection connection; try {//from w w w.j a v a 2 s . com 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.GET); request.getRequestHeaders().put(Headers.AUTHORIZATION, "Bearer eyJraWQiOiIxMDAiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ1cm46Y29tOm5ldHdvcmtudDpvYXV0aDI6djEiLCJhdWQiOiJ1cm46Y29tLm5ldHdvcmtudCIsImV4cCI6MTgwNTEzNjU1MSwianRpIjoiV0Z1VVZneE83dmxKUm5XUlllMjE1dyIsImlhdCI6MTQ4OTc3NjU1MSwibmJmIjoxNDg5Nzc2NDMxLCJ2ZXJzaW9uIjoiMS4wIiwidXNlcl9pZCI6InN0ZXZlIiwidXNlcl90eXBlIjoiRU1QTE9ZRUUiLCJjbGllbnRfaWQiOiJmN2Q0MjM0OC1jNjQ3LTRlZmItYTUyZC00YzU3ODc0MjFlNzIiLCJzY29wZSI6WyJ3cml0ZTpwZXRzIiwicmVhZDpwZXRzIl19.ZDlD_JbtHMqfx8EWOlOXI0zFGjB_pJ6yXWpxoE03o2yQnCUq1zypaDTJWSiy-BPIiQAxwDV09L3SN7RsOcgJ3y2LLFhgqIXhcHoePxoz52LPOeeiihG2kcrgBm-_VMq0uUykLrD-ljSmmSm1Hai_dx0WiYGAEJf-TiD1mgzIUTlhogYrjFKlp2NaYHxr7yjzEGefKv4DWdjtlEMmX_cXkqPgxra_omzyxeWE-n0b7f_r7Hr5HkxnmZ23gkZcvFXfVWKEp2t0_dYmNCbSVDavAjNanvmWsNThYNglFRvF0lm8kl7jkfMO1pTa0WLcBLvOO2y_jRWjieFCrc0ksbIrXA"); 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(); Assert.assertEquals(200, statusCode); if (statusCode == 200) { Assert.assertNotNull(reference.get().getAttachment(Http2Client.RESPONSE_BODY)); } }
From source file:com.sysunite.weaver.nifi.FilterXMLNodes.java
@Override public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { final FlowFile flowFileIn = session.get(); if (flowFileIn == null) { return;//from w ww .j a v a 2 s .co m } final AtomicReference<InputStream> savedNode = new AtomicReference<>(); //read the flow file session.read(flowFileIn, new InputStreamCallback() { @Override public void process(InputStream isIn) throws IOException { //System.out.println("contact!"); try { String contents = IOUtils.toString(isIn); XML xmlNode = new XMLDocument(contents); System.out.println(xmlNode.toString()); // works: .xpath("/FunctionalPhysicalObject/@name") String attributeToSearchFor = context.getProperty(PROP_NODE_ATTRIBUTE).getValue(); // name attributeToSearchFor = "@" + attributeToSearchFor; //@name String nodeToSearchFor = context.getProperty(PROP_NODE).getValue(); //FunctionalPhysicalObject nodeToSearchFor = "/" + nodeToSearchFor + "/"; // /FunctionalPhysicalObject/ String fullNodePathWithAttribute = nodeToSearchFor + attributeToSearchFor; // /FunctionalPhysicalObject/@name //System.out.println(fullNodePathWithAttribute); String valueOfAttribute = xmlNode.xpath(fullNodePathWithAttribute).get(0); //System.out.println("naam: " + valueOfAttribute); //"(.*)AB(.*)CT(.*)" String filter = context.getProperty(PROP_PREGMATCH).getValue(); if (valueOfAttribute.matches(filter)) { //System.out.println("match!!"); //dit is de node die we echt willen! InputStream is = new ByteArrayInputStream(xmlNode.toString().getBytes()); savedNode.set(is); } } catch (IOException e) { System.out.println("w00t");// + e.getMessage()); } catch (IllegalArgumentException e) { System.out.println("is xml niet geldig?"); } catch (IndexOutOfBoundsException e) { System.out.println("bah! de node waar gezocht naar moet worden is niet gevonden!"); } } }); session.remove(flowFileIn); //process what we have read try { //check if there is something to process String contents = IOUtils.toString(savedNode.get()); if (contents != null && contents.length() > 0) { FlowFile flowfileOut = session.create(); XML xmlNode = new XMLDocument(contents); InputStream data = new ByteArrayInputStream(xmlNode.toString().getBytes()); flowfileOut = session.importFrom(data, flowfileOut); session.transfer(flowfileOut, MY_RELATIONSHIP); session.commit(); } } catch (IOException e) { System.out.println("w00t");// + e.getMessage()); } catch (IllegalArgumentException e) { System.out.println("xml niet geldig?"); } catch (NullPointerException e) { System.out.println("zonder gevonden node geen waarde om te initialiseren."); } }
From source file:com.netflix.config.ConcurrentMapConfigurationTest.java
@Test public void testListeners() { ConcurrentMapConfiguration conf = new ConcurrentMapConfiguration(); final AtomicReference<ConfigurationEvent> eventRef = new AtomicReference<ConfigurationEvent>(); conf.addConfigurationListener(new ConfigurationListener() { @Override//from w w w .j av a2s . c om public void configurationChanged(ConfigurationEvent arg0) { eventRef.set(arg0); } }); conf.addProperty("key", "1"); assertEquals(1, conf.getInt("key")); ConfigurationEvent event = eventRef.get(); assertEquals("key", event.getPropertyName()); assertEquals("1", event.getPropertyValue()); assertTrue(conf == event.getSource()); assertEquals(AbstractConfiguration.EVENT_ADD_PROPERTY, event.getType()); conf.setProperty("key", "2"); event = eventRef.get(); assertEquals("key", event.getPropertyName()); assertEquals("2", event.getPropertyValue()); assertTrue(conf == event.getSource()); assertEquals(AbstractConfiguration.EVENT_SET_PROPERTY, event.getType()); conf.clearProperty("key"); event = eventRef.get(); assertEquals("key", event.getPropertyName()); assertNull(event.getPropertyValue()); assertTrue(conf == event.getSource()); assertEquals(AbstractConfiguration.EVENT_CLEAR_PROPERTY, event.getType()); conf.clear(); assertFalse(conf.getKeys().hasNext()); event = eventRef.get(); assertTrue(conf == event.getSource()); assertEquals(AbstractConfiguration.EVENT_CLEAR, event.getType()); }
From source file:org.zodiark.subscriber.SubscriberTest.java
@Test(enabled = false) public void joinStreamingSession() throws IOException, InterruptedException { final ZodiarkClient wowzaClient = new ZodiarkClient.Builder().path("http://127.0.0.1:" + port).build(); final CountDownLatch connected = new CountDownLatch(1); final AtomicReference<String> uuid = new AtomicReference<>(); final AtomicReference<String> paths = new AtomicReference<>(); // =============== Wowza paths.set(""); wowzaClient.handler(new OnEnvelopHandler() { @Override/*from www . ja v a 2 s .co m*/ public boolean onEnvelop(Envelope e) throws IOException { Message m = e.getMessage(); switch (m.getPath()) { case Paths.WOWZA_CONNECT: // Connected. Listen uuid.set(e.getUuid()); break; case Paths.SERVER_VALIDATE_OK: Envelope publisherOk = Envelope .newClientToServerRequest(new Message(new Path(paths.get()), e.getMessage().getData())); wowzaClient.send(publisherOk); break; default: // ERROR } connected.countDown(); return false; } }).open(); Envelope wowzaConnect = Envelope.newClientToServerRequest(new Message(new Path(Paths.WOWZA_CONNECT), mapper.writeValueAsString(new UserPassword("wowza", "bar")))); wowzaClient.send(wowzaConnect); connected.await(); // ================ Publisher final AtomicReference<PublisherResults> answer = new AtomicReference<>(); final ZodiarkClient publisherClient = new ZodiarkClient.Builder().path("http://127.0.0.1:" + port).build(); final CountDownLatch latch = new CountDownLatch(1); final AtomicReference<String> publisherUUID = new AtomicReference<>(); publisherClient.handler(new OnEnvelopHandler() { @Override public boolean onEnvelop(Envelope e) throws IOException { answer.set(mapper.readValue(e.getMessage().getData(), PublisherResults.class)); publisherUUID.set(e.getUuid()); latch.countDown(); return true; } }).open(); Envelope createSessionMessage = Envelope.newClientToServerRequest( new Message(new Path(""), mapper.writeValueAsString(new UserPassword("publisherex", "bar")))); createSessionMessage.setFrom(new From(ActorValue.PUBLISHER)); publisherClient.send(createSessionMessage); latch.await(); assertEquals("OK", answer.get().getResults()); answer.set(null); final CountDownLatch tlatch = new CountDownLatch(1); publisherClient.handler(new OnEnvelopHandler() { @Override public boolean onEnvelop(Envelope e) throws IOException { answer.set(mapper.readValue(e.getMessage().getData(), PublisherResults.class)); tlatch.countDown(); return true; } }); Envelope startStreamingSession = Envelope .newClientToServerRequest(new Message(new Path(Paths.VALIDATE_PUBLISHER_STREAMING_SESSION), mapper.writeValueAsString(new WowzaUUID(uuid.get())))); createSessionMessage.setFrom(new From(ActorValue.PUBLISHER)); publisherClient.send(startStreamingSession); tlatch.await(); assertEquals("OK", answer.get().getResults()); // ================ Subscriber paths.set(Paths.JOIN_SUBSCRIBER_STREAMING_SESSION); final AtomicReference<SubscriberResults> sanswer = new AtomicReference<>(); final ZodiarkClient subscriberClient = new ZodiarkClient.Builder().path("http://127.0.0.1:" + port).build(); final CountDownLatch platch = new CountDownLatch(1); final AtomicReference<String> subscriberUUID = new AtomicReference<>(); subscriberClient.handler(new OnEnvelopHandler() { @Override public boolean onEnvelop(Envelope e) throws IOException { sanswer.set(mapper.readValue(e.getMessage().getData(), SubscriberResults.class)); subscriberUUID.set(e.getUuid()); platch.countDown(); return true; } }).open(); createSessionMessage = Envelope.newClientToServerRequest(subscriberUUID.get(), new Message(new Path(Paths.DB_POST_SUBSCRIBER_SESSION_CREATE), mapper.writeValueAsString(new UserPassword("123456", "bar")))); createSessionMessage.setFrom(new From(ActorValue.SUBSCRIBER)); subscriberClient.send(createSessionMessage); platch.await(); assertEquals("OK", sanswer.get().getResults()); sanswer.set(null); final CountDownLatch elatch = new CountDownLatch(1); subscriberClient.handler(new OnEnvelopHandler() { @Override public boolean onEnvelop(Envelope e) throws IOException { sanswer.set(mapper.readValue(e.getMessage().getData(), SubscriberResults.class)); elatch.countDown(); return true; } }); StreamingRequest request = new StreamingRequestImpl(publisherUUID.get(), uuid.get()); startStreamingSession = Envelope.newClientToServerRequest(subscriberUUID.get(), new Message( new Path(Paths.VALIDATE_SUBSCRIBER_STREAMING_SESSION), mapper.writeValueAsString(request))); createSessionMessage.setFrom(new From(ActorValue.SUBSCRIBER)); subscriberClient.send(startStreamingSession); elatch.await(); assertEquals("OK", sanswer.get().getResults()); }
From source file:com.networknt.security.JwtVerifyHandlerTest.java
@Test public void testWithRightScopeInIdToken() throws Exception { final Http2Client client = Http2Client.getInstance(); final CountDownLatch latch = new CountDownLatch(1); final ClientConnection connection; try {// w w w.ja va2 s .co 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("/v2/pet/111").setMethod(Methods.GET); request.getRequestHeaders().put(Headers.AUTHORIZATION, "Bearer eyJraWQiOiIxMDAiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ1cm46Y29tOm5ldHdvcmtudDpvYXV0aDI6djEiLCJhdWQiOiJ1cm46Y29tLm5ldHdvcmtudCIsImV4cCI6MTgwNTEzNjU1MSwianRpIjoiV0Z1VVZneE83dmxKUm5XUlllMjE1dyIsImlhdCI6MTQ4OTc3NjU1MSwibmJmIjoxNDg5Nzc2NDMxLCJ2ZXJzaW9uIjoiMS4wIiwidXNlcl9pZCI6InN0ZXZlIiwidXNlcl90eXBlIjoiRU1QTE9ZRUUiLCJjbGllbnRfaWQiOiJmN2Q0MjM0OC1jNjQ3LTRlZmItYTUyZC00YzU3ODc0MjFlNzIiLCJzY29wZSI6WyJ3cml0ZTpwZXRzIiwicmVhZDpwZXRzIl19.ZDlD_JbtHMqfx8EWOlOXI0zFGjB_pJ6yXWpxoE03o2yQnCUq1zypaDTJWSiy-BPIiQAxwDV09L3SN7RsOcgJ3y2LLFhgqIXhcHoePxoz52LPOeeiihG2kcrgBm-_VMq0uUykLrD-ljSmmSm1Hai_dx0WiYGAEJf-TiD1mgzIUTlhogYrjFKlp2NaYHxr7yjzEGefKv4DWdjtlEMmX_cXkqPgxra_omzyxeWE-n0b7f_r7Hr5HkxnmZ23gkZcvFXfVWKEp2t0_dYmNCbSVDavAjNanvmWsNThYNglFRvF0lm8kl7jkfMO1pTa0WLcBLvOO2y_jRWjieFCrc0ksbIrXA"); 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(); Assert.assertEquals(200, statusCode); if (statusCode == 200) { Assert.assertNotNull(reference.get().getAttachment(Http2Client.RESPONSE_BODY)); } }
From source file:info.archinnov.achilles.test.integration.tests.AsyncBatchModeIT.java
@Test public void should_batch_counters_async() throws Exception { // Start batch AsyncBatch batch = asyncManager.createBatch(); batch.startBatch();/*from ww w .j a v a2 s. com*/ CompleteBean entity = CompleteBeanTestBuilder.builder().randomId().name("name").buid(); entity = batch.insert(entity); entity.setLabel("label"); Tweet welcomeTweet = TweetTestBuilder.tweet().randomId().content("welcomeTweet").buid(); entity.setWelcomeTweet(welcomeTweet); entity.getVersion().incr(10L); batch.update(entity); RegularStatement selectLabel = select("label").from("CompleteBean").where(eq("id", entity.getId())); Map<String, Object> result = asyncManager.nativeQuery(selectLabel).getFirst().getImmediately(); assertThat(result).isNull(); RegularStatement selectCounter = select("counter_value").from("achilles_counter_table") .where(eq("fqcn", CompleteBean.class.getCanonicalName())) .and(eq("primary_key", entity.getId().toString())).and(eq("property_name", "version")); result = asyncManager.nativeQuery(selectCounter).getFirst().getImmediately(); assertThat(result).isNull(); final CountDownLatch latch = new CountDownLatch(2); final AtomicReference<Object> successSpy = new AtomicReference<>(); final AtomicReference<Throwable> exceptionSpy = new AtomicReference<>(); FutureCallback<Object> successCallBack = new FutureCallback<Object>() { @Override public void onSuccess(Object result) { successSpy.getAndSet(result); latch.countDown(); } @Override public void onFailure(Throwable t) { latch.countDown(); } }; FutureCallback<Object> errorCallBack = new FutureCallback<Object>() { @Override public void onSuccess(Object result) { latch.countDown(); } @Override public void onFailure(Throwable t) { exceptionSpy.getAndSet(t); latch.countDown(); } }; // Flush batch.asyncEndBatch(successCallBack, errorCallBack); latch.await(); Statement statement = new SimpleStatement("SELECT label from CompleteBean where id=" + entity.getId()); Row row = asyncManager.getNativeSession().execute(statement).one(); assertThat(row.getString("label")).isEqualTo("label"); result = asyncManager.nativeQuery(selectCounter).getFirst().getImmediately(); assertThat(result.get("counter_value")).isEqualTo(10L); assertThatBatchContextHasBeenReset(batch); assertThat(successSpy.get()).isNotNull().isSameAs(Empty.INSTANCE); assertThat(exceptionSpy.get()).isNull(); }
From source file:interactivespaces.util.web.HttpClientHttpContentCopierTest.java
/** * Test a file upload from a file.//w w w. j av a 2 s . c om */ @Test public void testFileUploadFile() throws Exception { File source = getTempFile(); final File destination = getTempFile(); Files.writeFile(source, TEST_CONTENT); final AtomicReference<Map<String, String>> receivedParameters = new AtomicReference<Map<String, String>>(); final CountDownLatch latch = new CountDownLatch(1); webServer.setHttpFileUploadListener(new HttpFileUploadListener() { @Override public void handleHttpFileUpload(HttpFileUpload fileUpload) { fileUpload.moveTo(destination); receivedParameters.set(fileUpload.getParameters()); latch.countDown(); } }); String sourceParameterName = "myfile"; Map<String, String> expectedParameters = Maps.newHashMap(); expectedParameters.put("foo", "bar"); expectedParameters.put("bletch", "spam"); copier.copyTo(getUrlPrefix(), source, sourceParameterName, expectedParameters); Assert.assertTrue(latch.await(10, TimeUnit.SECONDS)); Assert.assertEquals(TEST_CONTENT, Files.readFile(destination).trim()); Assert.assertEquals(expectedParameters, receivedParameters.get()); }