List of usage examples for java.util.concurrent.atomic AtomicReference set
public final void set(V newValue)
From source file:com.google.gdt.eclipse.designer.util.Utils.java
/** * @return the default locale from "set-property-fallback" property in module file. *//*w w w . j a v a2 s . c om*/ public static String getDefaultLocale(ModuleDescription moduleDescription) throws Exception { final AtomicReference<String> defaultLocale = new AtomicReference<String>("default"); ModuleVisitor.accept(moduleDescription, new ModuleVisitor() { @Override public void endVisitModule(ModuleElement module) { List<SetPropertyFallbackElement> elements = module.getSetPropertyFallbackElements(); for (SetPropertyFallbackElement element : elements) { if (element.getName().equals("locale")) { defaultLocale.set(element.getValue()); } } } }); return defaultLocale.get(); }
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 w w w . ja va 2 s. c om 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:org.apache.nifi.processors.kite.InferAvroSchema.java
@Override public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { final FlowFile original = session.get(); if (original == null) { return;//from ww w . j a v a 2 s . co m } try { final AtomicReference<String> avroSchema = new AtomicReference<>(); switch (context.getProperty(INPUT_CONTENT_TYPE).getValue()) { case USE_MIME_TYPE: avroSchema.set(inferAvroSchemaFromMimeType(original, context, session)); break; case JSON_CONTENT: avroSchema.set(inferAvroSchemaFromJSON(original, context, session)); break; case CSV_CONTENT: avroSchema.set(inferAvroSchemaFromCSV(original, context, session)); break; default: //Shouldn't be possible but just in case session.transfer(original, REL_UNSUPPORTED_CONTENT); break; } if (StringUtils.isNotEmpty(avroSchema.get())) { String destination = context.getProperty(SCHEMA_DESTINATION).getValue(); FlowFile avroSchemaFF = null; switch (destination) { case DESTINATION_ATTRIBUTE: avroSchemaFF = session.putAttribute(session.clone(original), AVRO_SCHEMA_ATTRIBUTE_NAME, avroSchema.get()); //Leaves the original CoreAttributes.MIME_TYPE in place. break; case DESTINATION_CONTENT: avroSchemaFF = session.write(session.create(), new OutputStreamCallback() { @Override public void process(OutputStream out) throws IOException { out.write(avroSchema.get().getBytes()); } }); avroSchemaFF = session.putAttribute(avroSchemaFF, CoreAttributes.MIME_TYPE.key(), AVRO_MIME_TYPE); break; default: break; } //Transfer the sessions. avroSchemaFF = session.putAttribute(avroSchemaFF, CoreAttributes.FILENAME.key(), (original.getAttribute(CoreAttributes.FILENAME.key()) + AVRO_FILE_EXTENSION)); session.transfer(avroSchemaFF, REL_SUCCESS); session.transfer(original, REL_ORIGINAL); } else { //If the avroSchema is null then the content type is unknown and therefore unsupported session.transfer(original, REL_UNSUPPORTED_CONTENT); } } catch (Exception ex) { getLogger().error("Failed to infer Avro schema for {} due to {}", new Object[] { original, ex }); session.transfer(original, REL_FAILURE); } }
From source file:com.twitter.distributedlog.client.proxy.TestProxyClientManager.java
@Test(timeout = 60000) public void testCreateClientShouldHandshake() throws Exception { SocketAddress address = createSocketAddress(3000); MockProxyClientBuilder builder = new MockProxyClientBuilder(); ServerInfo serverInfo = new ServerInfo(); serverInfo.putToOwnerships(runtime.getMethodName() + "_stream", runtime.getMethodName() + "_owner"); Pair<MockProxyClient, MockServerInfoService> mockProxyClient = createMockProxyClient(address, serverInfo); builder.provideProxyClient(address, mockProxyClient.getLeft()); final AtomicReference<ServerInfo> resultHolder = new AtomicReference<ServerInfo>(null); final CountDownLatch doneLatch = new CountDownLatch(1); ProxyListener listener = new ProxyListener() { @Override/*from www . j a v a 2 s . c o m*/ public void onHandshakeSuccess(SocketAddress address, ProxyClient client, ServerInfo serverInfo) { resultHolder.set(serverInfo); doneLatch.countDown(); } @Override public void onHandshakeFailure(SocketAddress address, ProxyClient client, Throwable cause) { } }; ProxyClientManager clientManager = createProxyClientManager(builder, 0L); clientManager.registerProxyListener(listener); assertEquals("There should be no clients in the manager", 0, clientManager.getNumProxies()); clientManager.createClient(address); assertEquals("Create client should build the proxy client", 1, clientManager.getNumProxies()); // When a client is created, it would handshake with that proxy doneLatch.await(); assertEquals("Handshake should return server info", serverInfo, resultHolder.get()); }
From source file:io.undertow.server.handlers.ChunkedResponseTrailersTestCase.java
@Test public void sendHttpRequest() throws Exception { Assume.assumeFalse(DefaultServer.isH2()); //this test will still run under h2-upgrade, but will fail HttpGet get = new HttpGet(DefaultServer.getDefaultServerURL() + "/path"); TestHttpClient client = new TestHttpClient(); final AtomicReference<ChunkedInputStream> stream = new AtomicReference<>(); client.addResponseInterceptor(new HttpResponseInterceptor() { public void process(final HttpResponse response, final HttpContext context) throws IOException { HttpEntity entity = response.getEntity(); if (entity != null) { InputStream instream = entity.getContent(); if (instream instanceof ChunkedInputStream) { stream.set(((ChunkedInputStream) instream)); }/*from w w w . j a v a2 s . co m*/ } } }); try { generateMessage(1); HttpResponse result = client.execute(get); Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode()); Assert.assertEquals(message, HttpClientUtils.readResponse(result)); Header[] footers = stream.get().getFooters(); Assert.assertEquals(2, footers.length); for (final Header header : footers) { if (header.getName().equals("foo")) { Assert.assertEquals("fooVal", header.getValue()); } else if (header.getName().equals("bar")) { Assert.assertEquals("barVal", header.getValue()); } else { Assert.fail("Unknown header" + header); } } generateMessage(1000); result = client.execute(get); Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode()); Assert.assertEquals(message, HttpClientUtils.readResponse(result)); footers = stream.get().getFooters(); Assert.assertEquals(2, footers.length); for (final Header header : footers) { if (header.getName().equals("foo")) { Assert.assertEquals("fooVal", header.getValue()); } else if (header.getName().equals("bar")) { Assert.assertEquals("barVal", header.getValue()); } else { Assert.fail("Unknown header" + header); } } } finally { client.getConnectionManager().shutdown(); } }
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/*from ww w. java 2 s . c o m*/ 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:de.sainth.recipe.backend.db.repositories.UnitRepository.java
public Unit save(Unit unit) { AtomicReference<Unit> bu = new AtomicReference<>(); create.transaction(configuration -> { using(configuration)/*from w ww . java 2 s. c o m*/ .insertInto(UNITS, UNITS.SHORTNAME, UNITS.LONGNAME, UNITS.CONVERSION_FACTOR, UNITS.BASIC_UNIT) .values(unit.getShortname(), unit.getLongname(), unit.getConversionFactor(), unit.getBasicUnit()) .onConflict().doUpdate().set(UNITS.LONGNAME, unit.getLongname()) .set(UNITS.CONVERSION_FACTOR, unit.getConversionFactor()) .set(UNITS.BASIC_UNIT, unit.getBasicUnit()).execute(); bu.set(using(configuration).selectFrom(UNITS).where(UNITS.SHORTNAME.eq(unit.getShortname())) .fetchOneInto(Unit.class)); }); return bu.get(); }
From source file:org.apache.flink.streaming.api.functions.sink.SocketClientSinkTest.java
@Test public void testSocketSinkNoRetry() throws Exception { final ServerSocket server = new ServerSocket(0); final int port = server.getLocalPort(); try {// w w w . j a v a2 s .c o m final AtomicReference<Throwable> error = new AtomicReference<Throwable>(); Thread serverRunner = new Thread("Test server runner") { @Override public void run() { try { Socket sk = server.accept(); sk.close(); } catch (Throwable t) { error.set(t); } } }; serverRunner.start(); SocketClientSink<String> simpleSink = new SocketClientSink<>(host, port, simpleSchema, 0, true); simpleSink.open(new Configuration()); // wait socket server to close serverRunner.join(); if (error.get() != null) { Throwable t = error.get(); t.printStackTrace(); fail("Error in server thread: " + t.getMessage()); } try { // socket should be closed, so this should trigger a re-try // need two messages here: send a fin to cancel the client state:FIN_WAIT_2 while the server is CLOSE_WAIT while (true) { // we have to do this more often as the server side closed is not guaranteed to be noticed immediately simpleSink.invoke(TEST_MESSAGE + '\n'); } } catch (IOException e) { // check whether throw a exception that reconnect failed. assertTrue("Wrong exception", e.getMessage().contains(EXCEPTION_MESSGAE)); } catch (Exception e) { fail("wrong exception: " + e.getClass().getName() + " - " + e.getMessage()); } assertEquals(0, simpleSink.getCurrentNumberOfRetries()); } finally { IOUtils.closeQuietly(server); } }
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); }// w w w . j ava 2s. c o m }).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:com.jeremydyer.iot.GPIORESTProcessor.java
@Override public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { final ProcessorLog log = this.getLogger(); final AtomicReference<Integer> value = new AtomicReference<>(); final FlowFile flowfile = session.get(); final Integer delayThreshold = context.getProperty(PROP_SWITCH_DELAY_THRESHOLD).asInteger(); session.read(flowfile, new InputStreamCallback() { @Override/*from ww w . j a v a 2 s .c o m*/ public void process(InputStream in) throws IOException { try { String json = IOUtils.toString(in); int numFaces = JsonPath.read(json, "$.faces"); value.set(numFaces); } catch (Exception ex) { getLogger().error("Failed to process face detection context", ex); session.transfer(flowfile, REL_FAILURE); } } }); // Write the results to an attribute int numFaces = value.get(); if (CURRENTLY_ON.get()) { //Outlet is on. If no faces detected turn off. Else do nothing if (numFaces == 0 && (((System.currentTimeMillis() - LAST_SWITCH_TS.get()) / 1000) > delayThreshold)) { CURRENTLY_ON.set(false); LAST_SWITCH_TS.set(System.currentTimeMillis()); session.transfer(flowfile, REL_TURN_OFF); } else { session.transfer(flowfile, REL_NO_CHANGE); } } else { //Outlet is currently turned off if (numFaces > 0 && (((System.currentTimeMillis() - LAST_SWITCH_TS.get()) / 1000) > delayThreshold)) { CURRENTLY_ON.set(true); LAST_SWITCH_TS.set(System.currentTimeMillis()); session.transfer(flowfile, REL_TURN_ON); } else { session.transfer(flowfile, REL_NO_CHANGE); } } }