progress.setDescription(String.format("%,d features tree built in %s", newFeatureTree.size(), treeTime)); final NodeRef newTreeRef = oldTreeRef.update(newFeatureTree.getId(), SpatialOps.boundsOf(newFeatureTree)); updateTree.setChild(newTreeRef);
progress.setDescription(String.format("%,d features tree built in %s", newFeatureTree.size(), treeTime)); final NodeRef newTreeRef = oldTreeRef.update(newFeatureTree.getId(), SpatialOps.boundsOf(newFeatureTree)); updateTree.setChild(newTreeRef);
/** * @param path the path to the tree to truncate * @return the new {@link ObjectId} for the root tree in the {@link Ref#WORK_HEAD working tree} */ @Override public ObjectId truncate(final String path) { final RevTree workHead = getTree(); final NodeRef currentTypeRef = context.command(FindTreeChild.class).setParent(workHead) .setChildPath(path).call().orNull(); if (null == currentTypeRef) { return workHead.getId(); } checkArgument(TYPE.TREE.equals(currentTypeRef.getType()), "%s is not a tree: %s", path, currentTypeRef.getType()); final NodeRef newTypeRef = currentTypeRef.update(EMPTY_TREE_ID, (Envelope) null); final RevTree newWorkHead = context.command(UpdateTree.class).setRoot(workHead) .setChild(newTypeRef).call(); if (!workHead.equals(newWorkHead)) { updateWorkHead(newWorkHead.getId()); } return newWorkHead.getId(); }
/** * @param path the path to the tree to truncate * @return the new {@link ObjectId} for the root tree in the {@link Ref#WORK_HEAD working tree} */ @Override public ObjectId truncate(final String path) { final RevTree workHead = getTree(); final NodeRef currentTypeRef = context.command(FindTreeChild.class).setParent(workHead) .setChildPath(path).call().orNull(); if (null == currentTypeRef) { return workHead.getId(); } checkArgument(TYPE.TREE.equals(currentTypeRef.getType()), "%s is not a tree: %s", path, currentTypeRef.getType()); final NodeRef newTypeRef = currentTypeRef.update(EMPTY_TREE_ID, (Envelope) null); final RevTree newWorkHead = context.command(UpdateTree.class).setRoot(workHead) .setChild(newTypeRef).call(); if (!workHead.equals(newWorkHead)) { updateWorkHead(newWorkHead.getId()); } return newWorkHead.getId(); }
final RevTree changedTree = changedTreeBuilder.build(); final Envelope newBounds = SpatialOps.boundsOf(changedTree); final NodeRef newTreeRef = currentTreeRef.update(changedTree.getId(), newBounds); updateTree.setChild(newTreeRef);
final RevTree changedTree = changedTreeBuilder.build(); final Envelope newBounds = SpatialOps.boundsOf(changedTree); final NodeRef newTreeRef = currentTreeRef.update(changedTree.getId(), newBounds); updateTree.setChild(newTreeRef);
@Test public void testUpdate() { Node node = RevObjectFactory.defaultInstance().createNode("Points.1", ObjectId.valueOf("abc123000000000000001234567890abcdef0000"), ObjectId.NULL, TYPE.FEATURE, null, null); NodeRef nodeRef = new NodeRef(node, "Points", ObjectId.NULL); NodeRef updated = nodeRef.update( ObjectId.valueOf("abc123000000000000001234567890abcdef0001"), new Envelope(0, 1, 2, 3)); assertNotSame(nodeRef, updated); assertEquals(ObjectId.valueOf("abc123000000000000001234567890abcdef0001"), updated.getObjectId()); assertEquals(new Envelope(0, 1, 2, 3), updated.bounds().get()); }
final NodeRef newParentRef = typeTreeRef.update(newParent.getId(), newBounds); newWorkTree = context.command(UpdateTree.class).setRoot(workHead).setChild(newParentRef) .call();
final NodeRef newParentRef = typeTreeRef.update(newParent.getId(), newBounds); newWorkTree = context.command(UpdateTree.class).setRoot(workHead).setChild(newParentRef) .call();
public static NodeRef createOddLayer(String typeName, Repository repository) { String typeSpec = "geom:Point:srid=4326,x:Double,y:Double,xystr:String"; SimpleFeatureType type; try { type = DataUtilities.createType(typeName, typeSpec); } catch (SchemaException e) { throw new RuntimeException(e); } RevTree tree = IndexTestSupport.createWorldPointsTree(repository); WorkingTree workingTree = repository.workingTree(); NodeRef typeTreeRef = workingTree.createTypeTree(type.getTypeName(), type); ObjectStore store = repository.objectDatabase(); CanonicalTreeBuilder newRootBuilder = CanonicalTreeBuilder.create(store, workingTree.getTree()); NodeRef newTypeTreeRef = typeTreeRef.update(tree.getId(), SpatialOps.boundsOf(tree)); newRootBuilder.put(newTypeTreeRef.getNode()); RevTree newWorkTree = newRootBuilder.build(); workingTree.updateWorkHead(newWorkTree.getId()); return newTypeTreeRef; }
public static NodeRef createWorldPointsLayer(Repository repository) { if (featureType == null) { String typeSpec = "geom:Point:srid=4326,x:Double,y:Double,xystr:String"; try { featureType = DataUtilities.createType("worldpoints", typeSpec); } catch (SchemaException e) { throw new RuntimeException(e); } } RevTree tree = createWorldPointsTree(repository); WorkingTree workingTree = repository.workingTree(); NodeRef typeTreeRef = workingTree.createTypeTree(featureType.getTypeName(), featureType); ObjectStore store = repository.objectDatabase(); CanonicalTreeBuilder newRootBuilder = CanonicalTreeBuilder.create(store, workingTree.getTree()); NodeRef newTypeTreeRef = typeTreeRef.update(tree.getId(), SpatialOps.boundsOf(tree)); newRootBuilder.put(newTypeTreeRef.getNode()); RevTree newWorkTree = newRootBuilder.build(); workingTree.updateWorkHead(newWorkTree.getId()); return newTypeTreeRef; }
public static NodeRef createOddLayer(String typeName, Repository repository) { String typeSpec = "geom:Point:srid=4326,x:Double,y:Double,xystr:String"; SimpleFeatureType type; try { type = DataUtilities.createType(typeName, typeSpec); } catch (SchemaException e) { throw Throwables.propagate(e); } RevTree tree = IndexTestSupport.createWorldPointsTree(repository); WorkingTree workingTree = repository.workingTree(); NodeRef typeTreeRef = workingTree.createTypeTree(type.getTypeName(), type); ObjectStore store = repository.objectDatabase(); CanonicalTreeBuilder newRootBuilder = CanonicalTreeBuilder.create(store, workingTree.getTree()); NodeRef newTypeTreeRef = typeTreeRef.update(tree.getId(), SpatialOps.boundsOf(tree)); newRootBuilder.put(newTypeTreeRef.getNode()); RevTree newWorkTree = newRootBuilder.build(); workingTree.updateWorkHead(newWorkTree.getId()); return newTypeTreeRef; }
public static NodeRef createWorldPointsLayer(Repository repository) { if (featureType == null) { String typeSpec = "geom:Point:srid=4326,x:Double,y:Double,xystr:String"; try { featureType = DataUtilities.createType("worldpoints", typeSpec); } catch (SchemaException e) { throw Throwables.propagate(e); } } RevTree tree = createWorldPointsTree(repository); WorkingTree workingTree = repository.workingTree(); NodeRef typeTreeRef = workingTree.createTypeTree(featureType.getTypeName(), featureType); ObjectStore store = repository.objectDatabase(); CanonicalTreeBuilder newRootBuilder = CanonicalTreeBuilder.create(store, workingTree.getTree()); NodeRef newTypeTreeRef = typeTreeRef.update(tree.getId(), SpatialOps.boundsOf(tree)); newRootBuilder.put(newTypeTreeRef.getNode()); RevTree newWorkTree = newRootBuilder.build(); workingTree.updateWorkHead(newWorkTree.getId()); return newTypeTreeRef; }