public void addFileContent(FileContent content) { fileContents.put(content.getChecksum(), content); }
private void writeFileContentChunkRefs(Connection connection, FileContent fileContent) throws SQLException { PreparedStatement preparedStatement = getStatement(connection, "filecontent.insert.all.writeFileContentChunkRefs.sql"); int order = 0; for (ChunkChecksum chunkChecksum : fileContent.getChunks()) { preparedStatement.setString(1, fileContent.getChecksum().toString()); preparedStatement.setString(2, chunkChecksum.toString()); preparedStatement.setInt(3, order); preparedStatement.addBatch(); order++; } preparedStatement.executeBatch(); preparedStatement.close(); }
PreparedStatement preparedStatement = getStatement(connection, "filecontent.insert.all.writeFileContents.sql"); preparedStatement.setString(1, fileContent.getChecksum().toString()); preparedStatement.setLong(2, databaseVersionId); preparedStatement.setLong(3, fileContent.getSize());
private void writeFileContents(IndentXmlStreamWriter xmlOut, Collection<FileContent> fileContents) throws XMLStreamException { if (fileContents.size() > 0) { xmlOut.writeStartElement("fileContents"); for (FileContent fileContent : fileContents) { xmlOut.writeStartElement("fileContent"); xmlOut.writeAttribute("checksum", fileContent.getChecksum().toString()); xmlOut.writeAttribute("size", fileContent.getSize()); xmlOut.writeStartElement("chunkRefs"); Collection<ChunkChecksum> fileContentChunkChunks = fileContent.getChunks(); for (ChunkChecksum chunkChecksum : fileContentChunkChunks) { xmlOut.writeEmptyElement("chunkRef"); xmlOut.writeAttribute("ref", chunkChecksum.toString()); } xmlOut.writeEndElement(); // </chunkRefs> xmlOut.writeEndElement(); // </fileContent> } xmlOut.writeEndElement(); // </fileContents> } }
byte[] reconstructedFileExpectedChecksum = fileContent.getChecksum().getBytes(); byte[] reconstructedFileActualChecksum = reconstructedFileChecksum.digest();
if (fullDatabaseVersionCache.getFileContent(sourceFileContent.getChecksum()) == null) { fullDatabaseVersionCache.addFileContent(sourceFileContent);