public static void write(final int major, final Slice slice, final OutputStream outputStream) { slice.nofBlocks = 1 + slice.external.size() + (slice.embeddedRefBlock == null ? 0 : 1); { slice.contentIDs = new int[slice.external.size()]; final int i = 0; for (final int id : slice.external.keySet()) slice.contentIDs[i] = id; } slice.headerBlock = Block.createRawSliceHeaderBlock(createSliceHeaderBlockContent(major, slice)); slice.headerBlock.write(major, outputStream); slice.coreBlock.write(major, outputStream); for (final Block block : slice.external.values()) block.write(major, outputStream); }
public static void write(final int major, final Slice slice, final OutputStream outputStream) throws IOException { slice.nofBlocks = 1 + slice.external.size() + (slice.embeddedRefBlock == null ? 0 : 1); { slice.contentIDs = new int[slice.external.size()]; final int i = 0; for (final int id : slice.external.keySet()) slice.contentIDs[i] = id; } slice.headerBlock = Block.createRawSliceHeaderBlock(createSliceHeaderBlockContent(major, slice)); slice.headerBlock.write(major, outputStream); slice.coreBlock.write(major, outputStream); for (final Block block : slice.external.values()) block.write(major, outputStream); }
@Test(dataProvider = "RoundTripTest") public void testSliceHeaderBlockRoundTrips(final byte[] testData, final Version version) throws IOException { final Block shBlock = Block.createRawSliceHeaderBlock(testData); final Block rtBlock = roundTrip(shBlock, version); contentCheck(rtBlock, testData, testData); }
@Test public void uncompressedTest() { final byte[] testData = "TEST STRING".getBytes(); final Block fhBlock = Block.createRawFileHeaderBlock(testData); contentCheck(fhBlock, testData, testData); final Block chBlock = Block.createRawCompressionHeaderBlock(testData); contentCheck(chBlock, testData, testData); final Block shBlock = Block.createRawSliceHeaderBlock(testData); contentCheck(shBlock, testData, testData); final Block core = Block.createRawCoreDataBlock(testData); contentCheck(core, testData, testData); }