Package org.locationtech.geogig.api

Examples of org.locationtech.geogig.api.Bucket


    }

    private Map<Integer, Bucket> createBuckets(int count) {
        Map<Integer, Bucket> buckets = Maps.newHashMap();
        for (int i = 0; i < count; i++) {
            Bucket bucket = Bucket.create(ObjectId.forString("b" + i), new Envelope(i, i * 2, i,
                    i * 2));
            buckets.put(i, bucket);
        }
        return buckets;
    }
View Full Code Here


            private long acceptedTrees, acceptedBuckets, acceptedFeatures;

            void add(final Bounded b, final boolean skip) {
                Node n = b instanceof Node ? (Node) b : null;
                Bucket bucket = b instanceof Bucket ? (Bucket) b : null;
                if (skip) {
                    if (bucket == null) {
                        if (n.getType() == TYPE.FEATURE) {
                            skippedFeatures++;
                        } else {
View Full Code Here

            }
        } else if (tree.buckets().isPresent()) {
            Map<Integer, Bucket> buckets = tree.buckets().get();
            for (Entry<Integer, Bucket> entry : buckets.entrySet()) {
                Integer bucketIndex = entry.getKey();
                Bucket bucket = entry.getValue();
                out.writeStartElement("bucket");
                writeElement("bucketindex", bucketIndex.toString());
                writeElement("bucketid", bucket.id().toString());
                Envelope env = new Envelope();
                env.setToNull();
                bucket.expand(env);
                out.writeStartElement("bbox");
                writeElement("minx", Double.toString(env.getMinX()));
                writeElement("maxx", Double.toString(env.getMaxX()));
                writeElement("miny", Double.toString(env.getMinY()));
                writeElement("maxy", Double.toString(env.getMaxY()));
View Full Code Here

            return Optional.absent();
        }

        Integer bucket = refOrder.bucket(directChildName, subtreesDepth);
        ImmutableSortedMap<Integer, Bucket> buckets = parent.buckets().get();
        Bucket subtreeBucket = buckets.get(bucket);
        if (subtreeBucket == null) {
            return Optional.absent();
        }
        RevTree subtree = objectDb.get(subtreeBucket.id(), RevTree.class);
        return getDirectChild(subtree, directChildName, subtreesDepth + 1);
    }
View Full Code Here

            public boolean apply(Bounded input) {
                ObjectId id = null;
                if (input instanceof Node && TYPE.TREE.equals(((Node) input).getType())) {
                    id = ((Node) input).getObjectId();
                } else if (input instanceof Bucket) {
                    Bucket b = (Bucket) input;
                    id = b.id();
                }
                if (id != null) {
                    if (targetDb.exists(id)) {
                        LOGGER.trace("Ignoring {}. Already exists in target database.", input);
                        return false;
View Full Code Here

            {
                Integer idx = Integer.valueOf(bucketIndex);
                checkState(!buckets.containsKey(idx), "duplicate bucket index: %s", idx);
                // checkState(bucketIndex < RevTree.MAX_BUCKETS, "Illegal bucket index: %s", idx);
            }
            Bucket bucket = readBucketBody(in);
            buckets.put(Integer.valueOf(bucketIndex), bucket);
        }
        checkState(nBuckets == buckets.size(), "expected %s buckets, got %s", nBuckets,
                buckets.size());
        ImmutableList<Node> trees = treesBuilder.build();
View Full Code Here

        }

        final int nBuckets = in.readInt();
        for (int i = 0; i < nBuckets; i++) {
            int key = in.readInt();
            Bucket bucket = readBucket(in);
            buckets.put(key, bucket);
        }

        ImmutableList<Node> trees = treesBuilder.build();
        ImmutableList<Node> features = featuresBuilder.build();
View Full Code Here

        @Override
        protected Node computeNext() {
            while (!bucketEntries.hasNext()) {
                if (buckets.hasNext()) {
                    Bucket nextBucket = buckets.next();
                    bucketEntries = resolveBucketEntries(nextBucket.id());
                } else {
                    return endOfData();
                }
            }
            return bucketEntries.next();
View Full Code Here

        final Map<ObjectId, RevObject> bucketTrees;
        bucketTrees = uniqueIndex(leftSource.getAll(transform(leftBuckets.values(), BUCKET_ID)),
                OBJECT_ID);

        for (Integer bucketIndex : bucketIndexes) {
            Bucket leftBucket = leftBuckets.get(bucketIndex);
            List<Node> rightNodes = nodesByBucket.get(bucketIndex);// never returns null, but empty
            if (null == leftBucket) {
                traverseLeafLeaf(consumer, Iterators.<Node> emptyIterator(), rightNodes.iterator());
            } else if (rightNodes.isEmpty()) {
                if (consumer.bucket(bucketIndex, bucketDepth, leftBucket, null)) {
                    RevTree leftTree = (RevTree) bucketTrees.get(leftBucket.id());
                    // traverseBucketBucket(consumer, leftTree, RevTree.EMPTY, bucketDepth);
                    traverseTree(consumer, leftTree, RevTree.EMPTY, bucketDepth + 1);
                }
                consumer.endBucket(bucketIndex, bucketDepth, leftBucket, null);
            } else {
                RevTree leftTree = (RevTree) bucketTrees.get(leftBucket.id());
                if (leftTree.buckets().isPresent()) {
                    traverseBucketLeaf(consumer, leftTree, rightNodes.iterator(), bucketDepth + 1);
                } else {
                    traverseLeafLeaf(consumer, leftTree.children(), rightNodes.iterator());
                }
View Full Code Here

        final Map<ObjectId, RevObject> bucketTrees;
        bucketTrees = uniqueIndex(rightSource.getAll(transform(rightBuckets.values(), BUCKET_ID)),
                OBJECT_ID);

        for (Integer bucketIndex : bucketIndexes) {
            Bucket rightBucket = rightBuckets.get(bucketIndex);
            List<Node> leftNodes = nodesByBucket.get(bucketIndex);// never returns null, but empty
            if (null == rightBucket) {
                traverseLeafLeaf(consumer, leftNodes.iterator(), Iterators.<Node> emptyIterator());
            } else if (leftNodes.isEmpty()) {
                if (consumer.bucket(bucketIndex, bucketDepth, null, rightBucket)) {
                    RevTree rightTree = (RevTree) bucketTrees.get(rightBucket.id());
                    // traverseBucketBucket(consumer, RevTree.EMPTY, rightTree, bucketDepth);
                    traverseTree(consumer, RevTree.EMPTY, rightTree, bucketDepth + 1);
                }
                consumer.endBucket(bucketIndex, bucketDepth, null, rightBucket);
            } else {
                RevTree rightTree = (RevTree) bucketTrees.get(rightBucket.id());
                if (rightTree.buckets().isPresent()) {
                    traverseLeafBucket(consumer, leftNodes.iterator(), rightTree, bucketDepth + 1);
                } else {
                    traverseLeafLeaf(consumer, leftNodes.iterator(), rightTree.children());
                }
View Full Code Here

TOP

Related Classes of org.locationtech.geogig.api.Bucket

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.