private Node readNode(DataInputStream in) throws IOException { return FormatCommonV2_2.INSTANCE.readNode(in); }
private void writeNode(DataOutputStream out, Node node) throws IOException { FormatCommonV2_2.INSTANCE.writeNode(node, out); }
@Override protected final Bucket readBucketBody(DataInput in) throws IOException { ObjectId objectId = readObjectId(in); @Nullable final Envelope bounds = readBounds(in); return Bucket.create(objectId, bounds); }
@Override public void writeBucket(final int index, final Bucket bucket, DataOutput data, Envelope envBuff) throws IOException { writeUnsignedVarInt(index, data); data.write(bucket.getObjectId().getRawValue()); envBuff.setToNull(); bucket.expand(envBuff); writeBounds(envBuff,data); }
@Override protected void writeBucket(final Bucket bucket, DataOutput data, Envelope envBuff) throws IOException { writeUnsignedVarInt(bucket.getIndex(), data); bucket.getObjectId().writeTo(data); envBuff.setToNull(); bucket.expand(envBuff); writeBounds(envBuff, data); }
@Override protected final Bucket readBucketBody(int bucketIndex, DataInput in) throws IOException { ObjectId objectId = readObjectId(in); @Nullable final Envelope bounds = readBounds(in); return RevObjectFactory.defaultInstance().createBucket(objectId, bucketIndex, bounds); }
private Node readNode(DataInputStream in) throws IOException { return FormatCommonV2_2.INSTANCE.readNode(in); }
private void writeNode(DataOutputStream out, Node node) throws IOException { FormatCommonV2_2.INSTANCE.writeNode(node, out); }
data.write(node.getMetadataId().or(ObjectId.NULL).getRawValue()); writeBounds(env,data);
@SuppressWarnings("unchecked") @Override public Node readNode(DataInput in) throws IOException { final int typeAndMasks = in.readByte() & 0xFF; final int nodeType = typeAndMasks & TYPE_READ_MASK; // final int boundsMask = typeAndMasks & BOUNDS_READ_MASK; //unused final int metadataMask = typeAndMasks & METADATA_READ_MASK; final int extraDataMask = typeAndMasks & EXTRA_DATA_READ_MASK; final RevObject.TYPE contentType = RevObject.TYPE.valueOf(nodeType); final String name = in.readUTF(); final ObjectId objectId = readObjectId(in); ObjectId metadataId = ObjectId.NULL; if (metadataMask == METADATA_PRESENT_MASK) { metadataId = readObjectId(in); } @Nullable final Envelope bbox = readBounds(in); Map<String, Object> extraData = null; if (extraDataMask == EXTRA_DATA_PRESENT_MASK) { Object extra = valueEncoder.decode(FieldType.MAP, in); Preconditions.checkState(extra instanceof Map); extraData = (Map<String, Object>) extra; } final Node node; node = RevObjectFactory.defaultInstance().createNode(name, objectId, metadataId, contentType, bbox, extraData); return node; }
public static DAGNode decode(DataInput in) throws IOException { final byte magic = in.readByte(); switch (magic) { case MAGIC_DIRECT: { Node node = FormatCommonV2_2.INSTANCE.readNode(in); return DAGNode.of(node); } case MAGIC_LAZY_TREE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.treeNode(treeCacheId, nodeIndex); return node; } case MAGIC_LAZY_FEATURE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.featureNode(treeCacheId, nodeIndex); return node; } } throw new IllegalArgumentException("Invalid magic number, expected 7 or 9, got " + magic); }
public static void encode(DAGNode node, DataOutput output) throws IOException { if (node instanceof DirectDAGNode) { output.writeByte(MAGIC_DIRECT); FormatCommonV2_2.INSTANCE.writeNode(((DirectDAGNode) node).node, output); } else { LazyDAGNode ln = (LazyDAGNode) node; if (ln instanceof TreeDAGNode) { output.writeByte(MAGIC_LAZY_TREE); } else { output.writeByte(MAGIC_LAZY_FEATURE); } final int leafRevTreeId = ln.leafRevTreeId; final int nodeIndex = ln.nodeIndex; Varint.writeUnsignedVarInt(leafRevTreeId, output); Varint.writeUnsignedVarInt(nodeIndex, output); } }
node.getMetadataId().or(ObjectId.NULL).writeTo(data); writeBounds(env, data);
@SuppressWarnings("unchecked") @Override public Node readNode(DataInput in) throws IOException { final int typeAndMasks = in.readByte() & 0xFF; final int nodeType = typeAndMasks & TYPE_READ_MASK; final int boundsMask = typeAndMasks & BOUNDS_READ_MASK; //unused final int metadataMask = typeAndMasks & METADATA_READ_MASK; final int extraDataMask = typeAndMasks & EXTRA_DATA_READ_MASK; final RevObject.TYPE contentType = RevObject.TYPE.valueOf(nodeType); final String name = in.readUTF(); final ObjectId objectId = readObjectId(in); ObjectId metadataId = ObjectId.NULL; if (metadataMask == METADATA_PRESENT_MASK) { metadataId = readObjectId(in); } @Nullable final Envelope bbox = readBounds(in); Map<String, Object> extraData = null; if (extraDataMask == EXTRA_DATA_PRESENT_MASK) { Object extra = valueEncoder.decode(FieldType.MAP, in); Preconditions.checkState(extra instanceof Map); extraData = (Map<String, Object>) extra; } final Node node; node = Node.create(name, objectId, metadataId, contentType, bbox, extraData); return node; }
public static DAGNode decode(DataInput in) throws IOException { final byte magic = in.readByte(); switch (magic) { case MAGIC_DIRECT: { Node node = FormatCommonV2_2.INSTANCE.readNode(in); return DAGNode.of(node); } case MAGIC_LAZY_TREE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.treeNode(treeCacheId, nodeIndex); return node; } case MAGIC_LAZY_FEATURE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.featureNode(treeCacheId, nodeIndex); return node; } } throw new IllegalArgumentException("Invalid magic number, expected 7 or 9, got " + magic); }
public static void encode(DAGNode node, DataOutput output) throws IOException { if (node instanceof DirectDAGNode) { output.writeByte(MAGIC_DIRECT); FormatCommonV2_2.INSTANCE.writeNode(((DirectDAGNode) node).getNode(), output); } else { LazyDAGNode ln = (LazyDAGNode) node; if (ln instanceof TreeDAGNode) { output.writeByte(MAGIC_LAZY_TREE); } else { output.writeByte(MAGIC_LAZY_FEATURE); } final int leafRevTreeId = ln.leafRevTreeId(); final int nodeIndex = ln.nodeIndex(); Varint.writeUnsignedVarInt(leafRevTreeId, output); Varint.writeUnsignedVarInt(nodeIndex, output); } }