diff --git a/src/main/java/illgner/ch/createzip/PostBoxZipFileWriter.java b/src/main/java/illgner/ch/createzip/SplitZipWriter.java similarity index 92% rename from src/main/java/illgner/ch/createzip/PostBoxZipFileWriter.java rename to src/main/java/illgner/ch/createzip/SplitZipWriter.java index 621aede..fc4afab 100755 --- a/src/main/java/illgner/ch/createzip/PostBoxZipFileWriter.java +++ b/src/main/java/illgner/ch/createzip/SplitZipWriter.java @@ -1,6 +1,6 @@ package illgner.ch.createzip; -import illgner.ch.encryption.IOutputStreamEnhancer; +import illgner.ch.stream.OutputStreamEnhancer; import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.CountingOutputStream; import org.slf4j.Logger; @@ -30,9 +30,9 @@ import static java.nio.file.attribute.PosixFilePermission.OTHERS_READ; import static java.nio.file.attribute.PosixFilePermission.OWNER_READ; import static java.nio.file.attribute.PosixFilePermission.OWNER_WRITE; -public class PostBoxZipFileWriter implements Closeable { +public class SplitZipWriter implements Closeable { - private static final Logger LOG = LoggerFactory.getLogger(PostBoxZipFileWriter.class); + private static final Logger LOG = LoggerFactory.getLogger(SplitZipWriter.class); private static final Set ZIP_FILE_PERMISSIONS = EnumSet.of(OWNER_READ, OWNER_WRITE, GROUP_READ, OTHERS_READ); @@ -41,7 +41,7 @@ public class PostBoxZipFileWriter implements Closeable { private final int chunkSize; private final int bufferSize; private final ZipResult zipResult; - IOutputStreamEnhancer outputStreamEnhancer; + OutputStreamEnhancer outputStreamEnhancer; private ZipOutputStream zipOutputStream; @@ -50,7 +50,7 @@ public class PostBoxZipFileWriter implements Closeable { private File actualZipFile; private CountingOutputStream countingOutputStream; - public PostBoxZipFileWriter(Path destinationDir, String baseName, int chunkSize, int bufferSize, IOutputStreamEnhancer outputStreamEnhancer) { + public SplitZipWriter(Path destinationDir, String baseName, int chunkSize, int bufferSize, OutputStreamEnhancer outputStreamEnhancer) { this.destinationDir = destinationDir; this.baseName = baseName; this.chunkSize = chunkSize; diff --git a/src/main/java/illgner/ch/encryption/IInputStreamEnhancer.java b/src/main/java/illgner/ch/stream/InputStreamEnhancer.java old mode 100755 new mode 100644 similarity index 87% rename from src/main/java/illgner/ch/encryption/IInputStreamEnhancer.java rename to src/main/java/illgner/ch/stream/InputStreamEnhancer.java index 94dd475..845b709 --- a/src/main/java/illgner/ch/encryption/IInputStreamEnhancer.java +++ b/src/main/java/illgner/ch/stream/InputStreamEnhancer.java @@ -1,4 +1,4 @@ -package illgner.ch.encryption; +package illgner.ch.stream; import javax.crypto.NoSuchPaddingException; import java.io.IOException; @@ -8,8 +8,6 @@ import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; -public interface IInputStreamEnhancer { - +public interface InputStreamEnhancer { InputStream enhance(InputStream inputStream) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, IOException, InvalidAlgorithmParameterException, NoSuchProviderException; - } diff --git a/src/main/java/illgner/ch/encryption/IOutputStreamEnhancer.java b/src/main/java/illgner/ch/stream/OutputStreamEnhancer.java old mode 100755 new mode 100644 similarity index 55% rename from src/main/java/illgner/ch/encryption/IOutputStreamEnhancer.java rename to src/main/java/illgner/ch/stream/OutputStreamEnhancer.java index d17ad88..7a25a42 --- a/src/main/java/illgner/ch/encryption/IOutputStreamEnhancer.java +++ b/src/main/java/illgner/ch/stream/OutputStreamEnhancer.java @@ -1,4 +1,4 @@ -package illgner.ch.encryption; +package illgner.ch.stream; import javax.crypto.NoSuchPaddingException; import java.io.IOException; @@ -8,11 +8,6 @@ import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; -public interface IOutputStreamEnhancer { - /** - * This method enhances the given input stream {@link OutputStream} wrapping with the additional functionality (in our case with encryption) - * @param outputStream the original stream {@link OutputStream} to be enhanced. - * @return A new {@link OutputStream} that wraps the functionality to input stream. - */ +public interface OutputStreamEnhancer { OutputStream enhance(OutputStream outputStream) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, IOException, InvalidAlgorithmParameterException, NoSuchProviderException; } diff --git a/src/test/java/illgner/ch/jobs/postboxbulk/service/PostBoxZipFileWriterTest.java b/src/test/java/illgner/ch/createzip/SplitZipWriterTest.java similarity index 95% rename from src/test/java/illgner/ch/jobs/postboxbulk/service/PostBoxZipFileWriterTest.java rename to src/test/java/illgner/ch/createzip/SplitZipWriterTest.java index 837ddd2..d391749 100755 --- a/src/test/java/illgner/ch/jobs/postboxbulk/service/PostBoxZipFileWriterTest.java +++ b/src/test/java/illgner/ch/createzip/SplitZipWriterTest.java @@ -1,6 +1,6 @@ -package illgner.ch.jobs.postboxbulk.service; +package illgner.ch.createzip; -import illgner.ch.createzip.PostBoxZipFileWriter; +import illgner.ch.createzip.SplitZipWriter; import illgner.ch.createzip.ZipResult; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; @@ -35,7 +35,7 @@ import static org.hamcrest.io.FileMatchers.aFileNamed; import static org.hamcrest.io.FileMatchers.anExistingFile; import static org.junit.jupiter.api.Assertions.assertTrue; -class PostBoxZipFileWriterTest { +class SplitZipWriterTest { private static final Path DESTINATION_DIR = Paths.get("./destination"); private static final int ONE_BYTE = 1024; @@ -63,7 +63,7 @@ class PostBoxZipFileWriterTest { ZipResult zipResult; String outputFileName = RandomStringUtils.randomAlphanumeric(10); String inputFileName = "singleFileSmallerThanChunkSizeToOneZip.txt"; - PostBoxZipFileWriter postBoxZipFileWriter = new PostBoxZipFileWriter( + SplitZipWriter postBoxZipFileWriter = new SplitZipWriter( DESTINATION_DIR, outputFileName, ZIP_CHUNK_SIZE_IN_BYTE, ZIP_BUFFER_SIZE_IN_BYTE, (OutputStream outputStream) -> outputStream); try (postBoxZipFileWriter) { postBoxZipFileWriter.write(new ByteArrayInputStream(fileSimpleContent), inputFileName); @@ -92,7 +92,7 @@ class PostBoxZipFileWriterTest { ZipResult zipResult; String outputFileName = RandomStringUtils.randomAlphanumeric(10); String inputFileName = "singleFileGreaterThanChunkSizeToOneZip.txt"; - PostBoxZipFileWriter postBoxZipFileWriter = new PostBoxZipFileWriter( + SplitZipWriter postBoxZipFileWriter = new SplitZipWriter( DESTINATION_DIR, outputFileName, ZIP_CHUNK_SIZE_IN_BYTE, ZIP_BUFFER_SIZE_IN_BYTE, (OutputStream outputStream) -> outputStream); try (postBoxZipFileWriter) { postBoxZipFileWriter.write(new ByteArrayInputStream(fileSimpleContent), inputFileName); @@ -125,7 +125,7 @@ class PostBoxZipFileWriterTest { String inputFileNameTwo = "multipleFileSmallerThanChunkSizeToSingleZip2.txt"; ZipResult zipResult; - PostBoxZipFileWriter postBoxZipFileWriter = new PostBoxZipFileWriter( + SplitZipWriter postBoxZipFileWriter = new SplitZipWriter( DESTINATION_DIR, outputFileName, ZIP_CHUNK_SIZE_IN_BYTE, ZIP_BUFFER_SIZE_IN_BYTE, (OutputStream outputStream) -> outputStream); try (postBoxZipFileWriter) { postBoxZipFileWriter.write(new ByteArrayInputStream(firstFile), inputFileNameOne); @@ -164,7 +164,7 @@ class PostBoxZipFileWriterTest { String inputFileNameTwo = "multipleFilesTogetherGreaterThanChunkSizeToSingleZip2.txt"; ZipResult zipResult; - PostBoxZipFileWriter postBoxZipFileWriter = new PostBoxZipFileWriter( + SplitZipWriter postBoxZipFileWriter = new SplitZipWriter( DESTINATION_DIR, outputFileName, ZIP_CHUNK_SIZE_IN_BYTE, ZIP_BUFFER_SIZE_IN_BYTE, (OutputStream outputStream) -> outputStream); try (postBoxZipFileWriter) { postBoxZipFileWriter.write(new ByteArrayInputStream(firstFile), inputFileNameOne); @@ -207,7 +207,7 @@ class PostBoxZipFileWriterTest { String[] originalFileNames = {"multipleBigFilesToMultipleZip1.txt", "multipleBigFilesToMultipleZip2.txt", "multipleBigFilesToMultipleZip3.txt"}; String outputFileName = RandomStringUtils.randomAlphanumeric(10); - PostBoxZipFileWriter postBoxZipFileWriter = new PostBoxZipFileWriter( + SplitZipWriter postBoxZipFileWriter = new SplitZipWriter( DESTINATION_DIR, outputFileName, bigChuckSize, bigBufferSize, (OutputStream outputStream) -> outputStream); try (postBoxZipFileWriter) { postBoxZipFileWriter.write(new ByteArrayInputStream(firstFile), originalFileNames[0]); @@ -256,7 +256,7 @@ class PostBoxZipFileWriterTest { // first implementation crashed with an OutOfMemoryException while copying an 50MB Stream, // so we added a test for this - try (PostBoxZipFileWriter zipFileWriter = new PostBoxZipFileWriter( + try (SplitZipWriter zipFileWriter = new SplitZipWriter( DESTINATION_DIR, "testBigMulti", 100 * 1000 * 1000, ZIP_BUFFER_SIZE_IN_BYTE, (OutputStream outputStream) -> outputStream)) { for (int i = 0; i < 10; i++) { byte[] content = RandomStringUtils.randomAlphanumeric(50 * 1000 * 1000).getBytes(); @@ -274,7 +274,7 @@ class PostBoxZipFileWriterTest { String outputFileName = RandomStringUtils.randomAlphanumeric(10); ZipResult zipResult; - try (PostBoxZipFileWriter postBoxZipFileWriter = new PostBoxZipFileWriter(DESTINATION_DIR, outputFileName, 1000, 2048, (OutputStream outputStream) -> outputStream)) { + try (SplitZipWriter postBoxZipFileWriter = new SplitZipWriter(DESTINATION_DIR, outputFileName, 1000, 2048, (OutputStream outputStream) -> outputStream)) { postBoxZipFileWriter.write(new ByteArrayInputStream(content1), "file1"); postBoxZipFileWriter.write(new ByteArrayInputStream(content2), "file2"); postBoxZipFileWriter.write(new ByteArrayInputStream(content3), "file3");