org.locationtech.geogig.model.Node类的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(6.4k)|赞(0)|评价(0)|浏览(246)

本文整理了Java中org.locationtech.geogig.model.Node类的一些代码示例,展示了Node类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node类的具体详情如下:
包路径:org.locationtech.geogig.model.Node
类名称:Node

Node介绍

[英]An identifier->object id mapping for an object
[中]对象的标识符->对象id映射

代码示例

代码示例来源:origin: org.locationtech.geogig/geogig-api

  1. public Node update(final ObjectId newId, final @Nullable Envelope newBounds) {
  2. ObjectId mdId = getMetadataId().or(ObjectId.NULL);
  3. return Node.create(getName(), newId, mdId, getType(), newBounds, getExtraData());
  4. }

代码示例来源:origin: locationtech/geogig

  1. static BoundedSimpleFeature empty(SimpleFeatureType type, Node node,
  2. CoordinateReferenceSystem crs) {
  3. FeatureId fid = new FeatureIdImpl(node.getName());
  4. ReferencedEnvelope env = new ReferencedEnvelope(crs);
  5. node.expand(env);
  6. return new BoundedSimpleFeature(Collections.emptyList(), type, fid, env);
  7. }
  8. }

代码示例来源:origin: locationtech/geogig

  1. /**
  2. * Provides for natural ordering of {@code Node}, based on {@link #getName() name}
  3. */
  4. public final @Override int compareTo(Node o) {
  5. int c = getName().compareTo(o.getName());
  6. if (c == 0) {
  7. c = getType().compareTo(o.getType());
  8. }
  9. if (c == 0) {
  10. c = getObjectId().compareTo(o.getObjectId());
  11. }
  12. return c;
  13. }

代码示例来源:origin: locationtech/geogig

  1. public Node update(final ObjectId newId) {
  2. return update(newId, bounds().orNull());
  3. }

代码示例来源:origin: locationtech/geogig

  1. private void append(StringBuilder sb, Node node, int indent) {
  2. sb.append(Strings.repeat(" ", indent)).append(node.getName()).append("->")
  3. .append(node.getObjectId()).append(" (").append(node.getMetadataId()).append(")\n");
  4. }

代码示例来源:origin: org.locationtech.geogig/geogig-core

  1. private void verifyMetadata(Node node) {
  2. if (node.getMetadataId().isPresent()) {
  3. ObjectId mdId = node.getMetadataId().get();
  4. String msg = "RevFeatureType " + mdId + " is not present (from " + node.getName() + ")";
  5. assertTrue(msg, objectDb.exists(mdId));
  6. }
  7. }

代码示例来源:origin: locationtech/geogig

  1. private void assertNodesEqual(List<Node> l1, List<Node> l2) {
  2. assertEquals(l1, l2);
  3. for (int i = 0; i < l1.size(); i++) {
  4. Node n1 = l1.get(i);
  5. Node n2 = l2.get(i);
  6. assertEquals(n1.getExtraData(), n2.getExtraData());
  7. assertEquals(n1.getMetadataId(), n2.getMetadataId());
  8. assertEquals(n1.bounds(), n2.bounds());
  9. }
  10. }

代码示例来源:origin: org.locationtech.geogig/geogig-core

  1. /**
  2. * Overrides to implement a simple optimization for the case where the node bounds haven't
  3. * changed and hence avoid calling remove and then put, but call put only, since the
  4. * {@code NodeId} is guaranteed to lay on the same bucket at any depth.
  5. */
  6. @Override
  7. public int update(Node oldNode, Node newNode) {
  8. Optional<Envelope> oldBounds = oldNode.bounds();
  9. Optional<Envelope> newBounds = newNode.bounds();
  10. if (oldBounds.equals(newBounds)) {
  11. // in case the bounds didn't change, put will override the old value,
  12. // otherwise need to remove old and add new separately
  13. Preconditions.checkArgument(oldNode.getName().equals(newNode.getName()));
  14. int delta = put(newNode);
  15. if (delta == 0 && !oldNode.equals(newNode)) {
  16. delta = 1;
  17. }
  18. }
  19. return super.update(oldNode, newNode);
  20. }

代码示例来源:origin: locationtech/geogig

  1. /**
  2. * @return the simple name of the {@link Node} this object points to
  3. */
  4. public String name() {
  5. return node.getName();
  6. }

代码示例来源:origin: locationtech/geogig

  1. private void verifyFeature(Node node) {
  2. ObjectId objectId = node.getObjectId();
  3. assertTrue("feature " + node.getName() + " -> " + objectId + " is not present in objectDb",
  4. objectDb.exists(objectId));
  5. }

代码示例来源:origin: org.locationtech.geogig/geogig-core

  1. public RevTree build(ObjectStore store) {
  2. final ObjectId treeId = this.node.getObjectId();
  3. final RevTree original = EMPTY_TREE_ID.equals(treeId) ? EMPTY : store.getTree(treeId);
  4. CanonicalTreeBuilder builder = CanonicalTreeBuilder.create(store, original);// .clearSubtrees();
  5. ImmutableList<Node> currentTrees = original.trees();
  6. currentTrees.forEach((n) -> builder.remove(n.getName()));
  7. for (MutableTree childTree : this.childTrees.values()) {
  8. childTree.build(store);
  9. Node newNode = childTree.node;
  10. builder.put(newNode);
  11. }
  12. final Node oldNode = this.node;
  13. RevTree newTree = builder.build();
  14. Envelope newBounds = SpatialOps.boundsOf(newTree);
  15. Node newNode = oldNode.update(newTree.getId(), newBounds);
  16. this.node = newNode;
  17. return newTree;
  18. }

代码示例来源:origin: locationtech/geogig

  1. /**
  2. * Expands the provided {@link Envelope} to encompass the {@code Node} this object points to.
  3. *
  4. * @param env the {@link Envelope} to expand
  5. */
  6. @Override
  7. public void expand(Envelope env) {
  8. node.expand(env);
  9. }

代码示例来源:origin: locationtech/geogig

  1. /**
  2. * @return a {@link NodeId} whose {@link NodeId#value() value} is the node's
  3. * {@link Node#bounds() bounds} {@link Envelope} or {@code null}
  4. */
  5. @Override
  6. public NodeId computeId(final Node node) {
  7. @Nullable
  8. Envelope bounds = node.bounds().orNull();
  9. return new NodeId(node.getName(), bounds);
  10. }

代码示例来源:origin: locationtech/geogig

  1. /**
  2. * Overrides to only call {@link #put(Node) put(newNode)} since both old and new are guaranteed
  3. * to fall on the same bucket as mandated by the canonical node order.
  4. */
  5. @Override
  6. public int update(Node oldNode, Node newNode) {
  7. Preconditions.checkArgument(oldNode.getName().equals(newNode.getName()));
  8. int delta = put(newNode);
  9. if (delta == 0 && !oldNode.equals(newNode)) {
  10. delta = 1;
  11. }
  12. return delta;
  13. }

代码示例来源:origin: locationtech/geogig

  1. /**
  2. * @deprecated use {@link #getObjectId()} instead
  3. */
  4. @Deprecated
  5. public ObjectId objectId() {
  6. return node.getObjectId();
  7. }

代码示例来源:origin: locationtech/geogig

  1. public boolean remove(Node node) {
  2. if (!node.getObjectId().isNull()) {
  3. node = node.update(ObjectId.NULL);
  4. }
  5. int delta = put(node);
  6. return -1 == delta;
  7. }

代码示例来源:origin: locationtech/geogig

  1. /**
  2. * @deprecated use {@link RevObjectFactory#createNode}
  3. */
  4. public static Node tree(final String name, final ObjectId oid, final ObjectId metadataId) {
  5. return create(name, oid, metadataId, TYPE.TREE, null);
  6. }

代码示例来源:origin: locationtech/geogig

  1. @Override
  2. public boolean equals(Object o) {
  3. if (o == this) {
  4. return true;
  5. }
  6. if (!(o instanceof MutableTree)) {
  7. return false;
  8. }
  9. MutableTree other = (MutableTree) o;
  10. return node.equals(other.node) && node.getMetadataId().equals(other.node.getMetadataId())
  11. && childTrees.equals(other.childTrees);
  12. }

代码示例来源:origin: locationtech/geogig

  1. @SuppressWarnings("unchecked")
  2. public static Map<String, Object> getMaterializedAttributes(Node n) {
  3. Object v = n.getExtraData(IndexInfo.FEATURE_ATTRIBUTES_EXTRA_DATA);
  4. Preconditions.checkArgument(v == null || v instanceof Map);
  5. return (Map<String, Object>) v;
  6. }

代码示例来源:origin: org.locationtech.geogig/geogig-core

  1. public Node createNode(String name, @Nullable Envelope bounds) {
  2. ObjectId id = RevObjectTestSupport.hashString(name);
  3. Node n = Node.create(name, id, ObjectId.NULL, RevObject.TYPE.FEATURE, bounds);
  4. if (bounds != null && !bounds.isNull()) {
  5. Envelope float32Bounds = n.bounds().get();
  6. Assert.assertTrue(float32Bounds.contains(bounds));
  7. }
  8. return n;
  9. }

相关文章