From a4aeef74d38e06adee705e453882e976b8fdc7b3 Mon Sep 17 00:00:00 2001 From: abilan Date: Thu, 16 Feb 2023 13:02:49 -0500 Subject: [PATCH] Migrate Zip extension to Spring Integration Core --- spring-integration-zip/README.adoc | 3 + spring-integration-zip/README.md | 162 ----------------------------- 2 files changed, 3 insertions(+), 162 deletions(-) create mode 100644 spring-integration-zip/README.adoc delete mode 100644 spring-integration-zip/README.md diff --git a/spring-integration-zip/README.adoc b/spring-integration-zip/README.adoc new file mode 100644 index 0000000..152e64d --- /dev/null +++ b/spring-integration-zip/README.adoc @@ -0,0 +1,3 @@ += Spring Integration for Zip Support + +Starting with Spring Integration `6.1` this extension has been absorbed by the https://docs.spring.io/spring-integration/docs/current/reference/html/zip.html#zip[core project]. diff --git a/spring-integration-zip/README.md b/spring-integration-zip/README.md deleted file mode 100644 index 15aee54..0000000 --- a/spring-integration-zip/README.md +++ /dev/null @@ -1,162 +0,0 @@ -Spring Integration Zip Support -============================== - -Build Status : [![Build Status](https://build.spring.io/plugins/servlet/buildStatusImage/INTEXT-ZIP)](https://build.spring.io/browse/INTEXT-ZIP) - -## Introduction - -This *Spring Integration Extension* provides [Zip][] (un-) compression support. The following components are provided: - -* Zip Transformer -* UnZip Transformer -* UnZip Result Splitter - -## ZIP Compression Support - -The following input data types can be **compressed**: - -* File -* String -* byte[] -* Iterable - -In input data types can be mixed as part of an Iterable. E.g. you should be -easily able to compress a collection containing Strings, byte arrays and Files. -It is important to note that nested Iterables are *NOT SUPPORTED* at present time. - -The zip transformer can be customized by setting several properties: - -### compressionLevel - -Sets the compression level. Default is `Deflater#DEFAULT_COMPRESSION` - -### useFileAttributes - -Specifies whether the name of the file shall be used for the zip entry. - -## ZIP Un-compression Support - -The following input data types can be **decompressed**: - -* File -* InputStream -* byte[] - -When unzipping data, you can also specify a property **expectSingleResult**. If set -to *true* and more than *1* zip entry were detected, a **MessagingException** will be raised. -This property also influences the return type of the payload. If set to *false* (the *default*), -then the payload will be of type *SortedMap*, if *true*, however, the actual zip -entry will be returned. - -Othe properties that can be set on the UnZipTransformer: - -### deleteFiles - -If the payload is an instance of `File`, this property specifies whether to delete the File after transformation. Default is *false*. - -### workDirectory - -Set the work-directory. The work directory is used when the ZipResultType is set to ZipResultType.FILE. -By default this property is set to the System temporary directory containing a sub-directory "ziptransformer". - -### ZipResultType - -Defines the format of the data returned after transformation. Available options are: - -* File -* byte[] - -## UnZipResultSplitter - -The `UnZipResultSplitter` is useful in cases where Zip files contain more than *1* -zip entry. - -## Zipping and Unzipping Large Files - -TBD - -## Java Package Structure - -### Base package - -The base package `org.springframework.integration.zip` contains the *ZipHeaders* class which defines the *Spring Integration* message headers that are specific to the Zip module. - -### config.xml - -This package contains the parser classes for the XML Namespace support. - -### transformer - -Contain the classes responsible for the actual (un-) zip operation: - -* ZipTransformer -* UnZipTransformer - -## Namespace Support - -Full XML namespace support is provided. - -## Building the Project - -To build and install jars into your local Maven cache, please execute: - - ./gradlew install - -If you encounter out of memory errors during the build, increase available heap and permgen for Gradle: - - GRADLE_OPTS='-XX:MaxPermSize=1024m -Xmx1024m' - -To build api Javadoc (results will be in `build/api`): - - ./gradlew api - -To build complete distribution including `-dist` and `-schema` zip files (results will be in `build/distributions`) - - ./gradlew dist - -# IDE Support - -While your custom Spring Integration Adapter is initially created with SpringSource Tool Suite, you in fact end up with a Gradle-based project. -As such, the created project can be imported into other IDEs as well. - -## Using Spring Tool Suite - -Gradle projects can be directly imported into STS. But please make sure that you have the Gradle support installed. - -## Using Plain Eclipse - -To generate Eclipse metadata (*.classpath* and *.project* files), do the following: - - ./gradlew eclipse - -Once complete, you may then import the project into Eclipse as usual: - - *File -> Import -> Existing projects into workspace* - -Browse to the root directory of the project and it should import free of errors. - -## Using IntelliJ IDEA - -To generate IDEA metadata (.iml and .ipr files), do the following: - - ./gradlew idea - -# Further Resources - -## Getting support - -Check out the [spring-integration][spring-integration tag] tag on [Stack Overflow][]. - -## Related GitHub projects - -* [Spring Integration][] -* [Spring Integration Samples][] - -For more information, please also don't forget to visit the [Spring Integration][] website. - -[Spring Integration]: https://github.com/spring-projects/spring-integration -[spring-integration tag]: https://stackoverflow.com/questions/tagged/spring-integration -[Spring Integration Samples]: https://github.com/spring-projects/spring-integration-samples -[Stack Overflow]: https://stackoverflow.com/faq - -[Zip]: https://en.wikipedia.org/wiki/Zip_%28file_format%29