private Map<ChunkChecksum, File> extractChunksFromMultiChunks(List<File> outputMultiChunkFiles, FrameworkCombination combination)
throws IOException {
Map<ChunkChecksum, File> extractedChunks = new HashMap<ChunkChecksum, File>();
for (File outputMultiChunkFile : outputMultiChunkFiles) {
logger.log(Level.INFO, "- Extracting multichunk " + outputMultiChunkFile + " ...");
MultiChunk outputMultiChunk = combination.multiChunker.createMultiChunk(
combination.transformer.createInputStream(new FileInputStream(outputMultiChunkFile)));
Chunk outputChunkInMultiChunk = null;
while (null != (outputChunkInMultiChunk = outputMultiChunk.read())) {
File extractedChunkFile = new File(tempDir + "/chunk-" + StringUtil.toHex((outputChunkInMultiChunk.getChecksum()))
+ "-from-multichunk-" + outputMultiChunk.getId());
logger.log(Level.INFO, " + Writing chunk " + StringUtil.toHex((outputChunkInMultiChunk.getChecksum())) + " to " + extractedChunkFile
+ " ...");
TestFileUtil.writeToFile(outputChunkInMultiChunk.getContent(), extractedChunkFile);
extractedChunks.put(new ChunkChecksum(outputChunkInMultiChunk.getChecksum()), extractedChunkFile);
}
}
return extractedChunks;
}