Search in sources :

Example 6 with Node

use of org.openstreetmap.osmosis.core.domain.v0_6.Node in project grpc-java by grpc.

the class CsdsServiceTest method verifyClientConfigNode.

/**
 * Assuming {@link io.grpc.xds.EnvoyProtoDataTest#convertNode} passes, perform a minimal check,
 * just verify the node itself is the one we expect.
 */
private static void verifyClientConfigNode(ClientConfig clientConfig) {
    Node node = clientConfig.getNode();
    assertThat(node.getId()).isEqualTo(NODE_ID);
    assertThat(node).isEqualTo(BOOTSTRAP_NODE.toEnvoyProtoNode());
}
Also used : Node(io.envoyproxy.envoy.config.core.v3.Node)

Example 7 with Node

use of org.openstreetmap.osmosis.core.domain.v0_6.Node in project ignite by apache.

the class GridConcurrentLinkedDequeMultiThreadedTest method testQueueMultiThreaded.

/**
 * @throws Exception If failed.
 */
@Test
public void testQueueMultiThreaded() throws Exception {
    final AtomicBoolean done = new AtomicBoolean();
    final ConcurrentLinkedDeque8<Byte> queue = new ConcurrentLinkedDeque8<>();
    // Poll thread.
    IgniteInternalFuture<?> pollFut = multithreadedAsync(new Callable<Object>() {

        @Nullable
        @Override
        public Object call() throws Exception {
            info("Thread started.");
            while (!done.get()) try {
                queue.poll();
            } catch (Throwable t) {
                error("Error in poll thread.", t);
                done.set(true);
            }
            info("Thread finished.");
            return null;
        }
    }, 5, "queue-poll");
    // Producer thread.
    IgniteInternalFuture<?> prodFut = multithreadedAsync(new Callable<Object>() {

        @Nullable
        @Override
        public Object call() throws Exception {
            info("Thread started.");
            while (!done.get()) {
                Node<Byte> n = queue.addx((byte) 1);
                if (RND.nextBoolean())
                    queue.unlinkx(n);
            }
            info("Thread finished.");
            return null;
        }
    }, 5, "queue-prod");
    Thread.sleep(20 * 1000);
    done.set(true);
    pollFut.get();
    prodFut.get();
}
Also used : AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) ConcurrentLinkedDeque8(org.jsr166.ConcurrentLinkedDeque8) Node(org.jsr166.ConcurrentLinkedDeque8.Node) Nullable(org.jetbrains.annotations.Nullable) GridCommonAbstractTest(org.apache.ignite.testframework.junits.common.GridCommonAbstractTest) Test(org.junit.Test)

Example 8 with Node

use of org.openstreetmap.osmosis.core.domain.v0_6.Node in project voltdb by VoltDB.

the class VoltDBOsmSink method process.

public void process(WayContainer wayContainer) {
    Way way;
    List<Long> nodeIds;
    way = wayContainer.getEntity();
    nodeIds = new ArrayList<Long>(way.getWayNodes().size());
    for (WayNode wayNode : way.getWayNodes()) {
        nodeIds.add(wayNode.getNodeId());
    }
    // Keep invalid ways out of the database if desired by the user
    if (way.getWayNodes().size() > 1 || keepInvalidWays) {
        for (Tag tag : way.getTags()) {
            try {
                client.callProcedure(new InsertCallback(), INS_WAY_TAGS_PROC, way.getId(), tag.getKey(), tag.getValue());
            } catch (NoConnectionsException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        // Add these to the ways_nodes_table;
        int sequence = 0;
        for (Long nodeId : nodeIds) {
            try {
                client.callProcedure(new InsertCallback(), INS_WAYS_NODES_PROC, way.getId(), nodeId, sequence);
            } catch (NoConnectionsException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            sequence++;
        }
        StringBuffer sb = new StringBuffer();
        // if the first node id == the last nodeId, we know that this is a
        // closed loop.
        long n0 = nodeIds.get(0);
        long nn = nodeIds.get(nodeIds.size() - 1);
        if (n0 == nn) {
            if (enableBboxBuilder) {
                Polygon pg = wayGeometryBuilder.createPolygon(way);
                pg.outerWKT(sb);
            }
        } else {
            // it's a lineString, but we don't support it yet.
            if (enableLinestringBuilder) {
                LineString lineString = wayGeometryBuilder.createWayLinestring(way);
                lineString.outerWKT(sb);
            } else {
                return;
            }
        }
        String bbox = sb.toString();
        try {
            client.callProcedure(new InsertCallback(), INS_WAYS_PROC, way.getId(), way.getVersion(), way.getUser().getId(), way.getTimestamp(), way.getChangesetId(), bbox);
        } catch (NoConnectionsException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Also used : WayNode(org.openstreetmap.osmosis.core.domain.v0_6.WayNode) IOException(java.io.IOException) LineString(org.postgis.LineString) Way(org.openstreetmap.osmosis.core.domain.v0_6.Way) NoConnectionsException(org.voltdb.client.NoConnectionsException) LineString(org.postgis.LineString) Tag(org.openstreetmap.osmosis.core.domain.v0_6.Tag) Polygon(org.postgis.Polygon)

Example 9 with Node

use of org.openstreetmap.osmosis.core.domain.v0_6.Node in project GeoGig by boundlessgeo.

the class CreateOSMChangesetOp method _call.

/**
     * Executes the diff operation.
     * 
     * @return an iterator to a set of differences between the two trees
     * @see DiffEntry
     */
@Override
protected Iterator<ChangeContainer> _call() {
    Iterator<DiffEntry> nodeIterator = command(DiffOp.class).setFilter(OSMUtils.NODE_TYPE_NAME).setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> wayIterator = command(DiffOp.class).setFilter(OSMUtils.WAY_TYPE_NAME).setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> iterator = Iterators.concat(nodeIterator, wayIterator);
    final EntityConverter converter = new EntityConverter();
    Function<DiffEntry, ChangeContainer> function = new Function<DiffEntry, ChangeContainer>() {

        @Override
        @Nullable
        public ChangeContainer apply(@Nullable DiffEntry diff) {
            NodeRef ref = diff.changeType().equals(ChangeType.REMOVED) ? diff.getOldObject() : diff.getNewObject();
            RevFeature revFeature = command(RevObjectParse.class).setObjectId(ref.objectId()).call(RevFeature.class).get();
            RevFeatureType revFeatureType = command(RevObjectParse.class).setObjectId(ref.getMetadataId()).call(RevFeatureType.class).get();
            SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder((SimpleFeatureType) revFeatureType.type());
            ImmutableList<PropertyDescriptor> descriptors = revFeatureType.sortedDescriptors();
            ImmutableList<Optional<Object>> values = revFeature.getValues();
            for (int i = 0; i < descriptors.size(); i++) {
                PropertyDescriptor descriptor = descriptors.get(i);
                Optional<Object> value = values.get(i);
                featureBuilder.set(descriptor.getName(), value.orNull());
            }
            SimpleFeature feature = featureBuilder.buildFeature(ref.name());
            Entity entity = converter.toEntity(feature, id);
            EntityContainer container;
            if (entity instanceof Node) {
                container = new NodeContainer((Node) entity);
            } else {
                container = new WayContainer((Way) entity);
            }
            ChangeAction action = diff.changeType().equals(ChangeType.ADDED) ? ChangeAction.Create : diff.changeType().equals(ChangeType.MODIFIED) ? ChangeAction.Modify : ChangeAction.Delete;
            return new ChangeContainer(container, action);
        }
    };
    return Iterators.transform(iterator, function);
}
Also used : Entity(org.openstreetmap.osmosis.core.domain.v0_6.Entity) WayContainer(org.openstreetmap.osmosis.core.container.v0_6.WayContainer) ChangeAction(org.openstreetmap.osmosis.core.task.common.ChangeAction) Node(org.openstreetmap.osmosis.core.domain.v0_6.Node) EntityContainer(org.openstreetmap.osmosis.core.container.v0_6.EntityContainer) NodeContainer(org.openstreetmap.osmosis.core.container.v0_6.NodeContainer) Way(org.openstreetmap.osmosis.core.domain.v0_6.Way) Function(com.google.common.base.Function) NodeRef(org.locationtech.geogig.api.NodeRef) RevFeature(org.locationtech.geogig.api.RevFeature) RevFeatureType(org.locationtech.geogig.api.RevFeatureType) DiffEntry(org.locationtech.geogig.api.plumbing.diff.DiffEntry) ChangeContainer(org.openstreetmap.osmosis.core.container.v0_6.ChangeContainer) PropertyDescriptor(org.opengis.feature.type.PropertyDescriptor) Optional(com.google.common.base.Optional) DiffOp(org.locationtech.geogig.api.porcelain.DiffOp) SimpleFeature(org.opengis.feature.simple.SimpleFeature) RevObjectParse(org.locationtech.geogig.api.plumbing.RevObjectParse) Nullable(javax.annotation.Nullable) SimpleFeatureBuilder(org.geotools.feature.simple.SimpleFeatureBuilder)

Example 10 with Node

use of org.openstreetmap.osmosis.core.domain.v0_6.Node in project GeoGig by boundlessgeo.

the class EntityConverter method buildNodesString.

protected String buildNodesString(List<WayNode> wayNodes) {
    StringBuilder sb = new StringBuilder();
    for (Iterator<WayNode> it = wayNodes.iterator(); it.hasNext(); ) {
        WayNode node = it.next();
        sb.append(Long.toString(node.getNodeId()));
        if (it.hasNext()) {
            sb.append(";");
        }
    }
    return sb.toString();
}
Also used : WayNode(org.openstreetmap.osmosis.core.domain.v0_6.WayNode)

Aggregations

Node (org.openstreetmap.osmosis.core.domain.v0_6.Node)6 Tag (org.openstreetmap.osmosis.core.domain.v0_6.Tag)6 WayNode (org.openstreetmap.osmosis.core.domain.v0_6.WayNode)6 IOException (java.io.IOException)5 Way (org.openstreetmap.osmosis.core.domain.v0_6.Way)5 SimpleFeatureBuilder (org.geotools.feature.simple.SimpleFeatureBuilder)4 Optional (com.google.common.base.Optional)3 Test (org.junit.Test)3 RevFeature (org.locationtech.geogig.api.RevFeature)3 Function (com.google.common.base.Function)2 Point (com.vividsolutions.jts.geom.Point)2 Node (io.opencensus.proto.agent.common.v1.Node)2 ArrayList (java.util.ArrayList)2 HashSet (java.util.HashSet)2 Nullable (javax.annotation.Nullable)2 ParseException (org.apache.commons.cli.ParseException)2 OSMTagEntityFilter (org.bboxdb.tools.converter.osm.filter.OSMTagEntityFilter)2 Polygon (org.bboxdb.tools.converter.osm.util.Polygon)2 SerializableNode (org.bboxdb.tools.converter.osm.util.SerializableNode)2 NodeRef (org.locationtech.geogig.api.NodeRef)2