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:org.apache.tinkerpop.gremlin.structure.IoTest.java

@Test
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_FLOAT_VALUES)
public void shouldReadWriteEdgeToGryoUsingFloatProperty() throws Exception {
    final Vertex v1 = g.addVertex(T.label, "person");
    final Vertex v2 = g.addVertex(T.label, "person");
    final Edge e = v1.addEdge("friend", v2, "weight", 0.5f, "acl", "rw");

    try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        final GryoWriter writer = g.io().gryoWriter().create();
        writer.writeEdge(os, e);/*from  ww  w .  ja va2s .  com*/

        final AtomicBoolean called = new AtomicBoolean(false);
        final GryoReader reader = g.io().gryoReader().workingDirectory(File.separator + "tmp").create();
        try (final ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
            reader.readEdge(bais, detachedEdge -> {
                assertEquals(e.id(), detachedEdge.id());
                assertEquals(v1.id(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().id());
                assertEquals(v2.id(), detachedEdge.iterators().vertexIterator(Direction.IN).next().id());
                assertEquals(v1.label(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().label());
                assertEquals(v2.label(), detachedEdge.iterators().vertexIterator(Direction.IN).next().label());
                assertEquals(e.label(), detachedEdge.label());
                assertEquals(0.5f, detachedEdge.iterators().propertyIterator("weight").next().value());
                assertEquals("rw", detachedEdge.iterators().propertyIterator("acl").next().value());

                called.set(true);

                return null;
            });
        }

        assertTrue(called.get());
    }
}

From source file:org.apache.tinkerpop.gremlin.structure.IoTest.java

@Test
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_SERIALIZABLE_VALUES)
public void shouldSupportUUIDInGryo() throws Exception {
    final UUID id = UUID.randomUUID();
    final Vertex v1 = g.addVertex(T.label, "person");
    final Vertex v2 = g.addVertex(T.label, "person");
    final Edge e = v1.addEdge("friend", v2, "uuid", id);

    try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        final GryoWriter writer = g.io().gryoWriter().create();
        writer.writeEdge(os, e);/*from ww  w.  j  a v a2  s .c o  m*/

        final AtomicBoolean called = new AtomicBoolean(false);
        final GryoReader reader = g.io().gryoReader().workingDirectory(File.separator + "tmp").create();
        try (final ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
            reader.readEdge(bais, detachedEdge -> {
                assertEquals(e.id(), detachedEdge.id());
                assertEquals(v1.id(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().id());
                assertEquals(v2.id(), detachedEdge.iterators().vertexIterator(Direction.IN).next().id());
                assertEquals(v1.label(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().label());
                assertEquals(v2.label(), detachedEdge.iterators().vertexIterator(Direction.IN).next().label());
                assertEquals(e.label(), detachedEdge.label());
                assertEquals(e.keys().size(),
                        StreamFactory.stream(detachedEdge.iterators().propertyIterator()).count());
                assertEquals(id, detachedEdge.value("uuid"));

                called.set(true);

                return null;
            });
        }

        assertTrue(called.get());
    }
}

From source file:interactivespaces.util.web.WebSocketTest.java

@Test
public void testWebSocketCommunication() throws Exception {
    final String dataKey = "message";

    final CountDownLatch clientOpenning = new CountDownLatch(1);
    final CountDownLatch clientClosing = new CountDownLatch(1);

    final AtomicBoolean onConnectCalledServer = new AtomicBoolean(false);
    final AtomicBoolean onCloseCalledServer = new AtomicBoolean(false);

    final AtomicReference<WebServerWebSocketHandler> serverHandler = new AtomicReference<WebServerWebSocketHandler>();

    int port = 8082;
    String webSocketUriPrefix = "websockettest";

    URI uri = new URI(String.format("ws://127.0.0.1:%d/%s", port, webSocketUriPrefix));

    final List<Integer> serverReceivedList = Lists.newArrayList();
    final List<Integer> clientReceivedList = Lists.newArrayList();
    List<Integer> serverSentList = Lists.newArrayList();
    List<Integer> clientSentList = Lists.newArrayList();
    Random random = new Random(System.currentTimeMillis());

    for (int i = 0; i < 100; i++) {
        clientSentList.add(random.nextInt());
        serverSentList.add(random.nextInt());
    }/*from   www  .j a va 2  s  .  c  o  m*/

    NettyWebServer server = new NettyWebServer(threadPool, log);
    server.setServerName("test-server");
    server.setPort(port);
    server.setWebSocketHandlerFactory(webSocketUriPrefix, new WebServerWebSocketHandlerFactory() {

        @Override
        public WebServerWebSocketHandler newWebSocketHandler(WebSocketConnection connection) {
            WebServerWebSocketHandler handler = new WebServerWebSocketHandlerSupport(connection) {

                @Override
                public void onReceive(Object data) {
                    @SuppressWarnings("unchecked")
                    Map<String, Object> d = (Map<String, Object>) data;

                    serverReceivedList.add((Integer) d.get(dataKey));
                }

                @Override
                public void onConnect() {
                    onConnectCalledServer.set(true);
                }

                @Override
                public void onClose() {
                    onCloseCalledServer.set(true);
                }
            };

            serverHandler.set(handler);

            return handler;
        }
    });
    server.startup();

    Thread.sleep(2000);

    WebSocketHandler clientHandler = new WebSocketHandler() {

        @Override
        public void onConnect() {
            clientOpenning.countDown();
        }

        @Override
        public void onClose() {
            clientClosing.countDown();
        }

        @Override
        public void onReceive(Object data) {
            @SuppressWarnings("unchecked")
            Map<String, Object> d = (Map<String, Object>) data;

            clientReceivedList.add((Integer) d.get(dataKey));
        }
    };

    NettyWebSocketClient client = new NettyWebSocketClient(uri, clientHandler, threadPool, log);
    client.startup();

    Assert.assertTrue(clientOpenning.await(10, TimeUnit.SECONDS));

    Assert.assertTrue(client.isOpen());

    Map<String, Object> data = Maps.newHashMap();
    for (Integer i : clientSentList) {
        data.put("message", i);
        client.writeDataAsJson(data);
    }

    for (Integer i : serverSentList) {
        data.put("message", i);
        serverHandler.get().sendJson(data);
    }

    client.ping();

    client.shutdown();

    Assert.assertTrue(clientClosing.await(10, TimeUnit.SECONDS));

    server.shutdown();

    Assert.assertEquals(clientSentList, serverReceivedList);
    Assert.assertEquals(serverSentList, clientReceivedList);
    Assert.assertTrue(onConnectCalledServer.get());
    Assert.assertTrue(onCloseCalledServer.get());
}

From source file:com.atlassian.jira.bc.group.TestDefaultGroupService.java

@Test
public void testValidateDeleteHappyPath() {
    final AtomicBoolean isGroupNullCalled = new AtomicBoolean(false);
    final AtomicBoolean isOnlyCalled = new AtomicBoolean(false);
    final AtomicBoolean isAdminCalled = new AtomicBoolean(false);
    final AtomicBoolean getComments = new AtomicBoolean(false);
    final DefaultGroupService defaultGroupService = new DefaultGroupService(null, null, null, null, null, null,
            null, null, null, null, null, null, null, null) {
        @Override/*from w  w w . j a v  a2 s .co  m*/
        boolean isGroupNull(final String groupName) {
            isGroupNullCalled.set(true);
            return false;
        }

        @Override
        public boolean areOnlyGroupsGrantingUserAdminPermissions(final JiraServiceContext jiraServiceContext,
                final Collection groupNames) {
            isOnlyCalled.set(true);
            return false;
        }

        @Override
        public boolean isAdminDeletingSysAdminGroup(final JiraServiceContext jiraServiceContext,
                final String groupName) {
            isAdminCalled.set(true);
            return false;
        }

        @Override
        public long getCommentsAndWorklogsGuardedByGroupCount(final String groupName) {
            getComments.set(true);
            return 0;
        }

        @Override
        boolean userHasAdminPermission(final User user) {
            return true;
        }
    };
    final ErrorCollection errorCollection = new SimpleErrorCollection();
    final JiraServiceContext jiraServiceContext = getContext(errorCollection);
    assertTrue(defaultGroupService.validateDelete(jiraServiceContext, "TestGroup", "SwapGroup"));

    assertFalse(errorCollection.hasAnyErrors());
    assertTrue(isGroupNullCalled.get());
    assertTrue(isOnlyCalled.get());
    assertTrue(isAdminCalled.get());
    assertTrue(getComments.get());
}

From source file:org.apache.tinkerpop.gremlin.structure.IoTest.java

@Test
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_FLOAT_VALUES)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_NUMERIC_IDS)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
public void shouldReadWriteEdgeToGraphSONNonLossy() throws Exception {
    final Vertex v1 = g.addVertex(T.id, 1l, T.label, "person");
    final Vertex v2 = g.addVertex(T.id, 2l, T.label, "person");
    final Edge e = v1.addEdge("friend", v2, "weight", 0.5f, "acl", "rw");

    try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        final GraphSONWriter writer = g.io().graphSONWriter()
                .mapper(g.io().graphSONMapper().embedTypes(true).create()).create();
        writer.writeEdge(os, e);//from  w w  w.j a  v  a  2s .  c  om

        final AtomicBoolean called = new AtomicBoolean(false);
        final GraphSONReader reader = g.io().graphSONReader()
                .mapper(g.io().graphSONMapper().embedTypes(true).create()).create();
        try (final ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
            reader.readEdge(bais, detachedEdge -> {
                assertEquals(e.id(), detachedEdge.id());
                assertEquals(v1.id(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().id());
                assertEquals(v2.id(), detachedEdge.iterators().vertexIterator(Direction.IN).next().id());
                assertEquals(v1.label(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().label());
                assertEquals(v2.label(), detachedEdge.iterators().vertexIterator(Direction.IN).next().label());
                assertEquals(e.label(), detachedEdge.label());
                assertEquals(0.5f, detachedEdge.iterators().propertyIterator("weight").next().value());
                assertEquals("rw", detachedEdge.iterators().propertyIterator("acl").next().value());
                called.set(true);

                return null;
            });
        }

        assertTrue(called.get());
    }
}

From source file:org.apache.tinkerpop.gremlin.structure.IoTest.java

@Test
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_FLOAT_VALUES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_DOUBLE_VALUES)
public void shouldReadWriteDetachedEdgeAsReferenceToGraphSON() throws Exception {
    final Vertex v1 = g.addVertex(T.label, "person");
    final Vertex v2 = g.addVertex(T.label, "person");
    final Edge e = DetachedFactory.detach(v1.addEdge("friend", v2, "weight", 0.5f, "acl", "rw"), false);

    try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        final GraphSONWriter writer = g.io().graphSONWriter().create();
        writer.writeEdge(os, e);//from  w  w w. j  av a  2  s .  c o m

        final AtomicBoolean called = new AtomicBoolean(false);
        final GraphSONReader reader = g.io().graphSONReader().create();
        try (final ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
            reader.readEdge(bais, detachedEdge -> {
                assertEquals(e.id().toString(), detachedEdge.id().toString()); // lossy
                assertEquals(v1.id().toString(),
                        detachedEdge.iterators().vertexIterator(Direction.OUT).next().id().toString()); // lossy
                assertEquals(v2.id().toString(),
                        detachedEdge.iterators().vertexIterator(Direction.IN).next().id().toString()); // lossy
                assertEquals(v1.label(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().label());
                assertEquals(v2.label(), detachedEdge.iterators().vertexIterator(Direction.IN).next().label());
                assertEquals(e.label(), detachedEdge.label());
                assertEquals(e.keys().size(),
                        StreamFactory.stream(detachedEdge.iterators().propertyIterator()).count());
                called.set(true);
                return null;
            });
        }

        assertTrue(called.get());
    }
}

From source file:org.apache.hadoop.hbase.client.crosssite.CrossSiteHTable.java

@Override
public <R> void batchCallback(final List<? extends Row> actions, final Object[] results,
        final Callback<R> callback) throws IOException, InterruptedException {
    if (results.length != actions.size()) {
        throw new IllegalArgumentException("argument results must be the same size as argument actions");
    }/*from ww w  .j a  v a 2  s  .  c o m*/
    if (actions.isEmpty()) {
        return;
    }
    ClusterLocator clusterLocator = cachedZKInfo.clusterLocator;
    Map<String, Map<Integer, Row>> clusterMap = new TreeMap<String, Map<Integer, Row>>();
    Map<Integer, Object> rmap = new TreeMap<Integer, Object>();
    int index = 0;
    for (Row action : actions) {
        String clusterName = clusterLocator.getClusterName(action.getRow());
        Map<Integer, Row> rows = clusterMap.get(clusterName);
        if (rows == null) {
            rows = new TreeMap<Integer, Row>();
            clusterMap.put(clusterName, rows);
        }
        rows.put(Integer.valueOf(index++), action);
    }

    final AtomicBoolean hasError = new AtomicBoolean(false);
    Map<String, Future<Map<Integer, Object>>> futures = new HashMap<String, Future<Map<Integer, Object>>>();
    for (final Entry<String, Map<Integer, Row>> entry : clusterMap.entrySet()) {
        futures.put(entry.getKey(), pool.submit(new Callable<Map<Integer, Object>>() {

            @Override
            public Map<Integer, Object> call() throws Exception {
                Map<Integer, Object> map = new TreeMap<Integer, Object>();
                Map<Integer, Row> rowMap = entry.getValue();
                Object[] rs = new Object[rowMap.size()];
                List<Integer> indexes = new ArrayList<Integer>(rowMap.size());
                List<Row> rows = new ArrayList<Row>(rowMap.size());
                try {
                    HTableInterface table = getClusterHTable(entry.getKey());
                    for (Entry<Integer, Row> rowEntry : rowMap.entrySet()) {
                        indexes.add(rowEntry.getKey());
                        rows.add(rowEntry.getValue());
                    }
                    table.batchCallback(rows, rs, callback);
                } catch (IOException e) {
                    // need clear the cached HTable if the connection is refused
                    clearCachedTable(entry.getKey());
                    hasError.set(true);
                    LOG.error(e);
                } finally {
                    int index = 0;
                    for (Object r : rs) {
                        map.put(indexes.get(index++), r);
                    }
                }
                return map;
            }
        }));
    }

    try {
        for (Entry<String, Future<Map<Integer, Object>>> result : futures.entrySet()) {
            rmap.putAll(result.getValue().get());
        }
    } catch (Exception e) {
        // do nothing
    }

    for (int i = 0; i < actions.size(); i++) {
        results[i] = rmap.get(Integer.valueOf(i));
    }
    if (hasError.get()) {
        throw new IOException();
    }
}

From source file:org.apache.tinkerpop.gremlin.structure.IoTest.java

@Test
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_FLOAT_VALUES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_DOUBLE_VALUES)
public void shouldReadWriteEdgeToGraphSON() throws Exception {
    final Vertex v1 = g.addVertex(T.label, "person");
    final Vertex v2 = g.addVertex(T.label, "person");
    final Edge e = v1.addEdge("friend", v2, "weight", 0.5f, "acl", "rw");

    try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        final GraphSONWriter writer = g.io().graphSONWriter().create();
        writer.writeEdge(os, e);//ww w.j a va  2s .co  m

        final AtomicBoolean called = new AtomicBoolean(false);
        final GraphSONReader reader = g.io().graphSONReader().create();
        try (final ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
            reader.readEdge(bais, detachedEdge -> {
                assertEquals(e.id().toString(), detachedEdge.id().toString()); // lossy
                assertEquals(v1.id().toString(),
                        detachedEdge.iterators().vertexIterator(Direction.OUT).next().id().toString()); // lossy
                assertEquals(v2.id().toString(),
                        detachedEdge.iterators().vertexIterator(Direction.IN).next().id().toString()); // lossy
                assertEquals(v1.label(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().label());
                assertEquals(v2.label(), detachedEdge.iterators().vertexIterator(Direction.IN).next().label());
                assertEquals(e.label(), detachedEdge.label());
                assertEquals(0.5d, detachedEdge.iterators().propertyIterator("weight").next().value());
                assertEquals("rw", detachedEdge.iterators().propertyIterator("acl").next().value());
                called.set(true);
                return null;
            });
        }

        assertTrue(called.get());
    }
}

From source file:org.apache.tinkerpop.gremlin.structure.IoTest.java

@Test
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_FLOAT_VALUES)
@FeatureRequirement(featureClass = EdgePropertyFeatures.class, feature = EdgePropertyFeatures.FEATURE_DOUBLE_VALUES)
public void shouldReadWriteDetachedEdgeToGraphSON() throws Exception {
    final Vertex v1 = g.addVertex(T.label, "person");
    final Vertex v2 = g.addVertex(T.label, "person");
    final Edge e = DetachedFactory.detach(v1.addEdge("friend", v2, "weight", 0.5f, "acl", "rw"), true);

    try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        final GraphSONWriter writer = g.io().graphSONWriter().create();
        writer.writeEdge(os, e);// ww w . jav a 2  s. c o  m

        final AtomicBoolean called = new AtomicBoolean(false);
        final GraphSONReader reader = g.io().graphSONReader().create();
        try (final ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
            reader.readEdge(bais, detachedEdge -> {
                assertEquals(e.id().toString(), detachedEdge.id().toString()); // lossy
                assertEquals(v1.id().toString(),
                        detachedEdge.iterators().vertexIterator(Direction.OUT).next().id().toString()); // lossy
                assertEquals(v2.id().toString(),
                        detachedEdge.iterators().vertexIterator(Direction.IN).next().id().toString()); // lossy
                assertEquals(v1.label(), detachedEdge.iterators().vertexIterator(Direction.OUT).next().label());
                assertEquals(v2.label(), detachedEdge.iterators().vertexIterator(Direction.IN).next().label());
                assertEquals(e.label(), detachedEdge.label());
                assertEquals(0.5d, detachedEdge.iterators().propertyIterator("weight").next().value());
                assertEquals("rw", detachedEdge.iterators().propertyIterator("acl").next().value());
                called.set(true);
                return null;
            });
        }

        assertTrue(called.get());
    }
}