diff --git a/applications/source/time-source/src/main/resources/META-INF/dataflow-configuration-metadata-whitelist.properties b/applications/source/time-source/src/main/resources/META-INF/dataflow-configuration-metadata-whitelist.properties
index a405e9c7..bdee747c 100644
--- a/applications/source/time-source/src/main/resources/META-INF/dataflow-configuration-metadata-whitelist.properties
+++ b/applications/source/time-source/src/main/resources/META-INF/dataflow-configuration-metadata-whitelist.properties
@@ -1,2 +1,2 @@
configuration-properties.classes=TimeProperties,\
- org.springframework.cloud.stream.config.DefaultPollerProperties
\ No newline at end of file
+ org.springframework.cloud.stream.config.DefaultPollerProperties
diff --git a/applications/source/time-source/src/test/java/org/springframework/cloud/stream/app/TimeSourceTests.java b/applications/source/time-source/src/test/java/org/springframework/cloud/stream/app/TimeSourceTests.java
index 87573cf7..8e39db8b 100644
--- a/applications/source/time-source/src/test/java/org/springframework/cloud/stream/app/TimeSourceTests.java
+++ b/applications/source/time-source/src/test/java/org/springframework/cloud/stream/app/TimeSourceTests.java
@@ -20,6 +20,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.jupiter.api.Test;
+
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
@@ -62,5 +63,6 @@ public class TimeSourceTests {
@EnableAutoConfiguration
@Import(TimeSupplierConfiguration.class)
- public static class TimeSourceConfiguration {}
+ public static class TimeSourceConfiguration {
+ }
}
diff --git a/applications/apps-build/CODE_OF_CONDUCT.adoc b/applications/stream-applications-build/CODE_OF_CONDUCT.adoc
similarity index 100%
rename from applications/apps-build/CODE_OF_CONDUCT.adoc
rename to applications/stream-applications-build/CODE_OF_CONDUCT.adoc
diff --git a/applications/apps-build/LICENSE b/applications/stream-applications-build/LICENSE
similarity index 100%
rename from applications/apps-build/LICENSE
rename to applications/stream-applications-build/LICENSE
diff --git a/applications/apps-build/pom.xml b/applications/stream-applications-build/pom.xml
similarity index 100%
rename from applications/apps-build/pom.xml
rename to applications/stream-applications-build/pom.xml
diff --git a/applications/apps-build/release-tools/core-tag-next-version.sh b/applications/stream-applications-build/release-tools/core-tag-next-version.sh
similarity index 100%
rename from applications/apps-build/release-tools/core-tag-next-version.sh
rename to applications/stream-applications-build/release-tools/core-tag-next-version.sh
diff --git a/applications/apps-build/release-tools/core-version-check.sh b/applications/stream-applications-build/release-tools/core-version-check.sh
similarity index 100%
rename from applications/apps-build/release-tools/core-version-check.sh
rename to applications/stream-applications-build/release-tools/core-version-check.sh
diff --git a/applications/apps-build/release-tools/core-version-upgrade.sh b/applications/stream-applications-build/release-tools/core-version-upgrade.sh
similarity index 100%
rename from applications/apps-build/release-tools/core-version-upgrade.sh
rename to applications/stream-applications-build/release-tools/core-version-upgrade.sh
diff --git a/applications/apps-build/stream-apps-descriptor/pom.xml b/applications/stream-applications-build/stream-apps-descriptor/pom.xml
similarity index 100%
rename from applications/apps-build/stream-apps-descriptor/pom.xml
rename to applications/stream-applications-build/stream-apps-descriptor/pom.xml
diff --git a/applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties b/applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties
similarity index 100%
rename from applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties
rename to applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties
diff --git a/applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties b/applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties
similarity index 100%
rename from applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties
rename to applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties
diff --git a/applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties b/applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties
similarity index 100%
rename from applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties
rename to applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties
diff --git a/applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties b/applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties
similarity index 100%
rename from applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties
rename to applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties
diff --git a/applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties b/applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties
similarity index 100%
rename from applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties
rename to applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties
diff --git a/applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties b/applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties
similarity index 100%
rename from applications/apps-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties
rename to applications/stream-applications-build/stream-apps-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties
diff --git a/applications/apps-build/stream-apps-docs/README.md b/applications/stream-applications-build/stream-apps-docs/README.md
similarity index 100%
rename from applications/apps-build/stream-apps-docs/README.md
rename to applications/stream-applications-build/stream-apps-docs/README.md
diff --git a/applications/apps-build/stream-apps-docs/pom.xml b/applications/stream-applications-build/stream-apps-docs/pom.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/pom.xml
rename to applications/stream-applications-build/stream-apps-docs/pom.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/.gitignore b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/.gitignore
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/.gitignore
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/.gitignore
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/Guardfile b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/Guardfile
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/Guardfile
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/Guardfile
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/appendix.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/appendix.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/appendix.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/appendix.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/contributing.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/contributing.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/contributing.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/contributing.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/images/app-starter-naming-conventions.png b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/images/app-starter-naming-conventions.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/images/app-starter-naming-conventions.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/images/app-starter-naming-conventions.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/images/logo.png b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/images/logo.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/images/logo.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/images/logo.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/images/starters-pom-dependencies.png b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/images/starters-pom-dependencies.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/images/starters-pom-dependencies.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/images/starters-pom-dependencies.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/index-docinfo.xml b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/index-docinfo.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/index-docinfo.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/index-docinfo.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/index.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/index.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/index.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/index.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/overview.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/overview.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/overview.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/overview.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/pom-dependencies.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/pom-dependencies.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/pom-dependencies.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/pom-dependencies.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/processors.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/processors.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/processors.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/processors.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/sinks.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/sinks.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/sinks.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/sinks.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/asciidoc/sources.adoc b/applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/sources.adoc
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/asciidoc/sources.adoc
rename to applications/stream-applications-build/stream-apps-docs/src/main/asciidoc/sources.adoc
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/css/highlight.css b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/highlight.css
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/css/highlight.css
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/highlight.css
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/css/manual-multipage.css b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/manual-multipage.css
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/css/manual-multipage.css
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/manual-multipage.css
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/css/manual-singlepage.css b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/manual-singlepage.css
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/css/manual-singlepage.css
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/manual-singlepage.css
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/css/manual.css b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/manual.css
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/css/manual.css
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/css/manual.css
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/background.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/background.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/background.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/background.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/1.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/1.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/1.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/1.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/10.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/10.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/10.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/10.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/11.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/11.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/11.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/11.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/12.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/12.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/12.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/12.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/13.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/13.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/13.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/13.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/14.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/14.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/14.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/14.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/15.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/15.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/15.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/15.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/2.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/2.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/2.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/2.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/3.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/3.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/3.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/3.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/4.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/4.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/4.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/4.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/5.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/5.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/5.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/5.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/6.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/6.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/6.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/6.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/7.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/7.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/7.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/7.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/8.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/8.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/8.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/8.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/9.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/9.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/callouts/9.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/callouts/9.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/caution.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/caution.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/caution.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/caution.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/cover.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/cover.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/cover.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/cover.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/important.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/important.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/important.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/important.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/logo.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/logo.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/logo.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/logo.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/logo.svg b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/logo.svg
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/logo.svg
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/logo.svg
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/note.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/note.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/note.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/note.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/tip.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/tip.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/tip.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/tip.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/images/warning.png b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/warning.png
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/images/warning.png
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/images/warning.png
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/common.xsl b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/common.xsl
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/common.xsl
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/common.xsl
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/epub.xsl b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/epub.xsl
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/epub.xsl
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/epub.xsl
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/html-multipage.xsl b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/html-multipage.xsl
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/html-multipage.xsl
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/html-multipage.xsl
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/html-singlepage.xsl b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/html-singlepage.xsl
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/html-singlepage.xsl
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/html-singlepage.xsl
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/html.xsl b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/html.xsl
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/html.xsl
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/html.xsl
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/pdf.xsl b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/pdf.xsl
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/pdf.xsl
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/pdf.xsl
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl-config.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl-config.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl-config.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl-config.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/asciidoc-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/asciidoc-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/asciidoc-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/asciidoc-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/bourne-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/bourne-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/bourne-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/bourne-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/c-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/c-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/c-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/c-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/cpp-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/cpp-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/cpp-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/cpp-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/csharp-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/csharp-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/csharp-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/csharp-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/css-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/css-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/css-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/css-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/html-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/html-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/html-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/html-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ini-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ini-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ini-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ini-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/java-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/java-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/java-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/java-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/javascript-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/javascript-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/javascript-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/javascript-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/json-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/json-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/json-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/json-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/perl-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/perl-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/perl-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/perl-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/php-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/php-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/php-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/php-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/properties-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/properties-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/properties-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/properties-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/python-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/python-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/python-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/python-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ruby-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ruby-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ruby-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/ruby-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/sql2003-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/sql2003-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/sql2003-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/sql2003-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/yaml-hl.xml b/applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/yaml-hl.xml
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/docbook/xsl/xslthl/yaml-hl.xml
rename to applications/stream-applications-build/stream-apps-docs/src/main/docbook/xsl/xslthl/yaml-hl.xml
diff --git a/applications/apps-build/stream-apps-docs/src/main/javadoc/spring-javadoc.css b/applications/stream-applications-build/stream-apps-docs/src/main/javadoc/spring-javadoc.css
similarity index 100%
rename from applications/apps-build/stream-apps-docs/src/main/javadoc/spring-javadoc.css
rename to applications/stream-applications-build/stream-apps-docs/src/main/javadoc/spring-javadoc.css
diff --git a/applications/stream-applications-core/.settings.xml b/applications/stream-applications-core/.settings.xml
new file mode 100644
index 00000000..c77ffbe3
--- /dev/null
+++ b/applications/stream-applications-core/.settings.xml
@@ -0,0 +1,81 @@
+
+
+
+
+ repo.spring.io
+ ${env.CI_DEPLOY_USERNAME}
+ ${env.CI_DEPLOY_PASSWORD}
+
+
+
+
+
+ spring
+
+ true
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/libs-snapshot-local
+
+ true
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/libs-milestone-local
+
+ false
+
+
+
+ spring-releases
+ Spring Releases
+ https://repo.spring.io/release
+
+ false
+
+
+
+
+ gemstone-release
+ GemStone Maven Release Repository
+ http://dist.gemstone.com/maven/release
+
+ true
+ always
+
+
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/libs-snapshot-local
+
+ true
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/libs-milestone-local
+
+ false
+
+
+
+
+
+
diff --git a/applications/apps-core/CODE_OF_CONDUCT.adoc b/applications/stream-applications-core/CODE_OF_CONDUCT.adoc
similarity index 100%
rename from applications/apps-core/CODE_OF_CONDUCT.adoc
rename to applications/stream-applications-core/CODE_OF_CONDUCT.adoc
diff --git a/applications/apps-core/LICENSE b/applications/stream-applications-core/LICENSE
similarity index 100%
rename from applications/apps-core/LICENSE
rename to applications/stream-applications-core/LICENSE
diff --git a/applications/apps-core/README.adoc b/applications/stream-applications-core/README.adoc
similarity index 100%
rename from applications/apps-core/README.adoc
rename to applications/stream-applications-core/README.adoc
diff --git a/applications/stream-applications-core/common/pom.xml b/applications/stream-applications-core/common/pom.xml
new file mode 100644
index 00000000..4a2a068c
--- /dev/null
+++ b/applications/stream-applications-core/common/pom.xml
@@ -0,0 +1,25 @@
+
+
+
+ stream-apps-parent
+ org.springframework.cloud.stream.app
+ 3.0.0.BUILD-SNAPSHOT
+
+ 4.0.0
+
+ stream-apps-common
+ pom
+ stream-apps-common
+
+
+ stream-apps-ftp-common
+ stream-apps-test-support
+ stream-apps-postprocessor-common
+ stream-apps-micrometer-common
+ stream-apps-metadata-store-common
+ stream-apps-task-launch-request-common
+ stream-apps-security-common
+
+
+
diff --git a/applications/stream-applications-core/common/stream-apps-ftp-common/pom.xml b/applications/stream-applications-core/common/stream-apps-ftp-common/pom.xml
new file mode 100644
index 00000000..5b9be4d0
--- /dev/null
+++ b/applications/stream-applications-core/common/stream-apps-ftp-common/pom.xml
@@ -0,0 +1,27 @@
+
+
+
+ stream-apps-common
+ org.springframework.cloud.stream.app
+ 3.0.0.BUILD-SNAPSHOT
+
+ 4.0.0
+
+ stream-apps-ftp-common
+ stream-apps-ftp-common
+
+
+
+ org.springframework.integration
+ spring-integration-ftp
+ true
+
+
+ org.springframework.cloud.stream.app
+ stream-apps-file-common
+ ${project.version}
+
+
+
+
diff --git a/applications/apps-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryConfiguration.java b/applications/stream-applications-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryConfiguration.java
similarity index 97%
rename from applications/apps-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryConfiguration.java
rename to applications/stream-applications-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryConfiguration.java
index b28b9c2b..e79b9716 100644
--- a/applications/apps-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryConfiguration.java
+++ b/applications/stream-applications-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryConfiguration.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2015-2016 the original author or authors.
+ * Copyright 2015-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
diff --git a/applications/apps-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryProperties.java b/applications/stream-applications-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryProperties.java
similarity index 91%
rename from applications/apps-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryProperties.java
rename to applications/stream-applications-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryProperties.java
index cf4ea143..acfbdcea 100644
--- a/applications/apps-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryProperties.java
+++ b/applications/stream-applications-core/common/stream-apps-ftp-common/src/main/java/org/springframework/cloud/stream/app/ftp/FtpSessionFactoryProperties.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2015-2016 the original author or authors.
+ * Copyright 2015-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -62,14 +63,20 @@ public class FtpSessionFactoryProperties extends AbstractRemoteServerProperties
this.clientMode = clientMode;
}
- public static enum ClientMode {
+ public enum ClientMode {
+ /**
+ * Active mode.
+ */
ACTIVE(FTPClient.ACTIVE_LOCAL_DATA_CONNECTION_MODE),
+ /**
+ * Passive mode.
+ */
PASSIVE(FTPClient.PASSIVE_LOCAL_DATA_CONNECTION_MODE);
private final int mode;
- private ClientMode(int mode) {
+ ClientMode(int mode) {
this.mode = mode;
}
diff --git a/applications/apps-core/common/stream-apps-metadata-store-common/README.adoc b/applications/stream-applications-core/common/stream-apps-metadata-store-common/README.adoc
similarity index 100%
rename from applications/apps-core/common/stream-apps-metadata-store-common/README.adoc
rename to applications/stream-applications-core/common/stream-apps-metadata-store-common/README.adoc
diff --git a/applications/stream-applications-core/common/stream-apps-metadata-store-common/pom.xml b/applications/stream-applications-core/common/stream-apps-metadata-store-common/pom.xml
new file mode 100644
index 00000000..b14943db
--- /dev/null
+++ b/applications/stream-applications-core/common/stream-apps-metadata-store-common/pom.xml
@@ -0,0 +1,152 @@
+
+
+ 4.0.0
+
+
+ stream-apps-common
+ org.springframework.cloud.stream.app
+ 3.0.0.BUILD-SNAPSHOT
+
+
+ stream-apps-metadata-store-common
+ stream-apps-metadata-store-common
+
+
+ 1.11.439
+ 2.0.0.RELEASE
+ 1.0.0.RELEASE
+ 4.0.1
+
+
+
+
+
+ org.springframework.integration
+ spring-integration-core
+
+
+
+
+ org.springframework.integration
+ spring-integration-redis
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+ true
+
+
+
+
+ org.springframework.integration
+ spring-integration-mongodb
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+ true
+
+
+ de.flapdoodle.embed
+ de.flapdoodle.embed.mongo
+ test
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-logging
+ true
+
+
+ org.apache.logging.log4j
+ log4j-to-slf4j
+
+
+
+
+ org.springframework.integration
+ spring-integration-gemfire
+ true
+
+
+ org.springframework.data
+ spring-data-gemfire
+
+
+
+
+
+ org.springframework.data
+ spring-data-geode
+ true
+
+
+
+
+
+ org.springframework.integration
+ spring-integration-jdbc
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+ true
+
+
+ org.hsqldb
+ hsqldb
+ test
+
+
+
+
+ org.springframework.integration
+ spring-integration-zookeeper
+ true
+
+
+ org.apache.curator
+ curator-test
+ ${curator.version}
+ test
+
+
+
+
+ org.springframework.integration
+ spring-integration-hazelcast
+ ${spring-integration-hazelcast.version}
+ true
+
+
+
+
+ org.springframework.integration
+ spring-integration-aws
+ ${spring-integration-aws.version}
+ true
+
+
+ com.amazonaws
+ aws-java-sdk-dynamodb
+ ${aws-java-sdk.version}
+ true
+
+
+ org.springframework.integration
+ spring-integration-test
+ test
+
+
+
+
diff --git a/applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/ClientCacheAutoConfiguration.java b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/ClientCacheAutoConfiguration.java
similarity index 91%
rename from applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/ClientCacheAutoConfiguration.java
rename to applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/ClientCacheAutoConfiguration.java
index 72831fc1..f3d7e510 100644
--- a/applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/ClientCacheAutoConfiguration.java
+++ b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/ClientCacheAutoConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,14 +28,14 @@ import org.springframework.data.gemfire.config.annotation.EnablePdx;
/**
* TODO
- *
+ *
* This is the copy of {@code org.springframework.boot.data.geode.autoconfigure.ClientCacheAutoConfiguration}
* until {@code geode-spring-boot-starter} is released.
*
* @author John Blum
*/
@Configuration
-@ConditionalOnClass({ ClientCacheFactoryBean.class, ClientCache.class })
+@ConditionalOnClass({ClientCacheFactoryBean.class, ClientCache.class})
@ConditionalOnMissingBean(GemFireCache.class)
@ClientCacheApplication
@EnablePdx
diff --git a/applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfiguration.java b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfiguration.java
similarity index 89%
rename from applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfiguration.java
rename to applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfiguration.java
index 8a29af6a..d6799aa5 100644
--- a/applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfiguration.java
+++ b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfiguration.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -15,6 +16,10 @@
package org.springframework.cloud.stream.app.metadata;
+import com.amazonaws.auth.AWSCredentialsProvider;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsyncClientBuilder;
+import com.hazelcast.core.HazelcastInstance;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.RetryForever;
@@ -45,14 +50,8 @@ import org.springframework.integration.redis.metadata.RedisMetadataStore;
import org.springframework.integration.zookeeper.metadata.ZookeeperMetadataStore;
import org.springframework.jdbc.core.JdbcTemplate;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync;
-import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsyncClientBuilder;
-import com.hazelcast.core.HazelcastInstance;
-
/**
* @author Artem Bilan
- *
* @since 2.0.2
*/
@Configuration
@@ -60,6 +59,12 @@ import com.hazelcast.core.HazelcastInstance;
@EnableConfigurationProperties(MetadataStoreProperties.class)
public class MetadataStoreAutoConfiguration {
+ @Bean
+ @ConditionalOnMissingBean
+ public ConcurrentMetadataStore simpleMetadataStore() {
+ return new SimpleMetadataStore();
+ }
+
@ConditionalOnClass(RedisMetadataStore.class)
@ConditionalOnBean(RedisTemplate.class)
static class Redis {
@@ -67,7 +72,7 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ConcurrentMetadataStore redisMetadataStore(RedisTemplate redisTemplate,
- MetadataStoreProperties metadataStoreProperties) {
+ MetadataStoreProperties metadataStoreProperties) {
return new RedisMetadataStore(redisTemplate, metadataStoreProperties.getRedis().getKey());
}
@@ -81,7 +86,7 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ConcurrentMetadataStore mongoDbMetadataStore(MongoTemplate mongoTemplate,
- MetadataStoreProperties metadataStoreProperties) {
+ MetadataStoreProperties metadataStoreProperties) {
return new MongoDbMetadataStore(mongoTemplate, metadataStoreProperties.getMongoDb().getCollection());
}
@@ -95,7 +100,7 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ClientRegionFactoryBean, ?> gemfireRegion(GemFireCache cache,
- MetadataStoreProperties metadataStoreProperties) {
+ MetadataStoreProperties metadataStoreProperties) {
ClientRegionFactoryBean, ?> clientRegionFactoryBean = new ClientRegionFactoryBean<>();
clientRegionFactoryBean.setCache(cache);
@@ -106,7 +111,7 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ConcurrentMetadataStore gemfireMetadataStore(Region, ?> region,
- ObjectProvider metadataStoreListenerObjectProvider) {
+ ObjectProvider metadataStoreListenerObjectProvider) {
@SuppressWarnings("unchecked")
GemfireMetadataStore gemfireMetadataStore = new GemfireMetadataStore((Region) region);
@@ -129,7 +134,7 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ConcurrentMetadataStore hazelcastMetadataStore(HazelcastInstance hazelcastInstance,
- ObjectProvider metadataStoreListenerObjectProvider) {
+ ObjectProvider metadataStoreListenerObjectProvider) {
HazelcastMetadataStore hazelcastMetadataStore = new HazelcastMetadataStore(hazelcastInstance);
metadataStoreListenerObjectProvider.ifAvailable(hazelcastMetadataStore::addListener);
@@ -138,7 +143,7 @@ public class MetadataStoreAutoConfiguration {
}
- @ConditionalOnClass({ ZookeeperMetadataStore.class, CuratorFramework.class })
+ @ConditionalOnClass({ZookeeperMetadataStore.class, CuratorFramework.class})
static class Zookeeper {
@Bean(initMethod = "start")
@@ -152,8 +157,8 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ConcurrentMetadataStore zookeeperMetadataStore(CuratorFramework curatorFramework,
- MetadataStoreProperties metadataStoreProperties,
- ObjectProvider metadataStoreListenerObjectProvider) {
+ MetadataStoreProperties metadataStoreProperties,
+ ObjectProvider metadataStoreListenerObjectProvider) {
MetadataStoreProperties.Zookeeper zookeeperProperties = metadataStoreProperties.getZookeeper();
ZookeeperMetadataStore zookeeperMetadataStore = new ZookeeperMetadataStore(curatorFramework);
@@ -166,13 +171,13 @@ public class MetadataStoreAutoConfiguration {
}
@ConditionalOnClass(DynamoDbMetadataStore.class)
- @ConditionalOnBean({ AWSCredentialsProvider.class, RegionProvider.class })
+ @ConditionalOnBean({AWSCredentialsProvider.class, RegionProvider.class})
static class DynamoDb {
@Bean
@ConditionalOnMissingBean
public AmazonDynamoDBAsync dynamoDB(AWSCredentialsProvider awsCredentialsProvider,
- RegionProvider regionProvider) {
+ RegionProvider regionProvider) {
return AmazonDynamoDBAsyncClientBuilder.standard()
.withCredentials(awsCredentialsProvider)
@@ -185,7 +190,7 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ConcurrentMetadataStore dynamoDbMetadataStore(AmazonDynamoDBAsync dynamoDB,
- MetadataStoreProperties metadataStoreProperties) {
+ MetadataStoreProperties metadataStoreProperties) {
MetadataStoreProperties.DynamoDb dynamoDbProperties = metadataStoreProperties.getDynamoDb();
@@ -212,7 +217,7 @@ public class MetadataStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ConcurrentMetadataStore jdbcMetadataStore(JdbcTemplate jdbcTemplate,
- MetadataStoreProperties metadataStoreProperties) {
+ MetadataStoreProperties metadataStoreProperties) {
MetadataStoreProperties.Jdbc jdbcProperties = metadataStoreProperties.getJdbc();
@@ -225,10 +230,4 @@ public class MetadataStoreAutoConfiguration {
}
- @Bean
- @ConditionalOnMissingBean
- public ConcurrentMetadataStore simpleMetadataStore() {
- return new SimpleMetadataStore();
- }
-
}
diff --git a/applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreProperties.java b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreProperties.java
similarity index 99%
rename from applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreProperties.java
rename to applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreProperties.java
index 263ff4a4..a8cc3ce1 100644
--- a/applications/apps-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreProperties.java
+++ b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/java/org/springframework/cloud/stream/app/metadata/MetadataStoreProperties.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -26,7 +27,6 @@ import org.springframework.integration.redis.metadata.RedisMetadataStore;
/**
* @author Artem Bilan
- *
* @since 2.0.2
*/
@ConfigurationProperties("metadata.store")
diff --git a/applications/apps-core/common/stream-apps-metadata-store-common/src/main/resources/META-INF/spring.factories b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from applications/apps-core/common/stream-apps-metadata-store-common/src/main/resources/META-INF/spring.factories
rename to applications/stream-applications-core/common/stream-apps-metadata-store-common/src/main/resources/META-INF/spring.factories
diff --git a/applications/apps-core/common/stream-apps-metadata-store-common/src/test/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfigurationTests.java b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/test/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfigurationTests.java
similarity index 99%
rename from applications/apps-core/common/stream-apps-metadata-store-common/src/test/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfigurationTests.java
rename to applications/stream-applications-core/common/stream-apps-metadata-store-common/src/test/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfigurationTests.java
index 4d888c0e..81faa0e5 100644
--- a/applications/apps-core/common/stream-apps-metadata-store-common/src/test/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfigurationTests.java
+++ b/applications/stream-applications-core/common/stream-apps-metadata-store-common/src/test/java/org/springframework/cloud/stream/app/metadata/MetadataStoreAutoConfigurationTests.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -15,17 +16,16 @@
package org.springframework.cloud.stream.app.metadata;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.BDDMockito.willReturn;
-import static org.mockito.Mockito.mock;
-
import java.beans.Introspector;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
+import com.amazonaws.auth.AWSCredentialsProvider;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync;
+import com.amazonaws.services.dynamodbv2.model.DescribeTableRequest;
+import com.amazonaws.services.dynamodbv2.model.DescribeTableResult;
import org.apache.curator.test.TestingServer;
import org.junit.Ignore;
import org.junit.Test;
@@ -50,14 +50,13 @@ import org.springframework.integration.mongodb.metadata.MongoDbMetadataStore;
import org.springframework.integration.redis.metadata.RedisMetadataStore;
import org.springframework.integration.zookeeper.metadata.ZookeeperMetadataStore;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync;
-import com.amazonaws.services.dynamodbv2.model.DescribeTableRequest;
-import com.amazonaws.services.dynamodbv2.model.DescribeTableResult;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.BDDMockito.willReturn;
+import static org.mockito.Mockito.mock;
/**
* @author Artem Bilan
- *
* @since 2.0.2
*/
@RunWith(Parameterized.class)
@@ -75,19 +74,9 @@ public class MetadataStoreAutoConfigurationTests {
DynamoDbMetadataStore.class,
SimpleMetadataStore.class
);
-
- private static FilteredClassLoader filteredClassLoaderBut(Class extends ConcurrentMetadataStore> classToInclude) {
- return new FilteredClassLoader(
- METADATA_STORE_CLASSES.stream()
- .filter(Predicate.isEqual(classToInclude).negate())
- .toArray(Class>[]::new));
- }
-
private final ApplicationContextRunner contextRunner;
-
private final Class extends ConcurrentMetadataStore> classToInclude;
-
public MetadataStoreAutoConfigurationTests(Class extends ConcurrentMetadataStore> classToInclude) {
this.classToInclude = classToInclude;
this.contextRunner =
@@ -96,6 +85,13 @@ public class MetadataStoreAutoConfigurationTests {
.withClassLoader(filteredClassLoaderBut(classToInclude));
}
+ private static FilteredClassLoader filteredClassLoaderBut(Class extends ConcurrentMetadataStore> classToInclude) {
+ return new FilteredClassLoader(
+ METADATA_STORE_CLASSES.stream()
+ .filter(Predicate.isEqual(classToInclude).negate())
+ .toArray(Class>[]::new));
+ }
+
@Parameterized.Parameters
public static Iterable> parameters() {
return METADATA_STORE_CLASSES;
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/pom.xml b/applications/stream-applications-core/common/stream-apps-micrometer-common/pom.xml
similarity index 91%
rename from applications/apps-core/common/stream-apps-micrometer-common/pom.xml
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/pom.xml
index 99e9d9ea..c9c62cb2 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/pom.xml
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/pom.xml
@@ -1,6 +1,6 @@
-
stream-apps-common
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTags.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTags.java
similarity index 97%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTags.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTags.java
index f4c2eec8..fdf98d5e 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTags.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTags.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
import io.micrometer.core.instrument.MeterRegistry;
@@ -27,10 +28,10 @@ import org.springframework.context.annotation.Profile;
/**
* Micrometer common tags for Cloud Foundry deployment properties. Based on the CF application environment variables:
* https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html
- *
+ *
* Tags are set only if the "cloud" Spring profile is set. The "cloud" profile is activated automatically when an
* application is deployed in CF: https://docs.cloudfoundry.org/buildpacks/java/configuring-service-connections/spring-service-bindings.html#cloud-profiles
- *
+ *
* Use the spring.cloud.stream.app.metrics.cf.tags.enabled=false property to disable inserting those tags.
*
* @author Christian Tzolov
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTags.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTags.java
similarity index 97%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTags.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTags.java
index c2595fbe..ff01bcae 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTags.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTags.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
import io.micrometer.core.instrument.MeterRegistry;
@@ -28,7 +29,7 @@ import org.springframework.context.annotation.Configuration;
* Auto configuration extends the micrometer metrics with additional tags such as: stream name, application name,
* instance index and guids. Later are necessary to allow discrimination and aggregation of app metrics by external
* metrics collection and visualizaiton tools.
- *
+ *
* Use the spring.cloud.stream.app.metrics.common.tags.enabled=false property to disable inserting those tags.
*
* @author Christian Tzolov
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessor.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessor.java
similarity index 94%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessor.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessor.java
index 94c56743..8c1b5958 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessor.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
import java.util.Properties;
@@ -35,7 +36,7 @@ public class SpringCloudStreamMicrometerEnvironmentPostProcessor implements Envi
private final static String METRICS_PROPERTY_NAME_TEMPLATE = "management.metrics.export.%s.enabled";
private final static String[] METRICS_REPOSITORY_NAMES =
- new String[] { "datadog", "influx", "prometheus", "prometheus.rsocket" };
+ new String[]{"datadog", "influx", "prometheus", "prometheus.rsocket"};
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/main/resources/META-INF/spring.factories b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/main/resources/META-INF/spring.factories
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/main/resources/META-INF/spring.factories
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/AbstractMicrometerTagTest.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/AbstractMicrometerTagTest.java
similarity index 93%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/AbstractMicrometerTagTest.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/AbstractMicrometerTagTest.java
index c15b1dd6..62f0f3c5 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/AbstractMicrometerTagTest.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/AbstractMicrometerTagTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018-2019 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
import java.io.IOException;
@@ -41,7 +42,7 @@ import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.util.StreamUtils;
-import static org.junit.Assert.assertNotNull;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Christian Tzolov
@@ -59,13 +60,6 @@ public class AbstractMicrometerTagTest {
protected Meter meter;
- @Before
- public void before() {
- assertNotNull(simpleMeterRegistry);
- meter = simpleMeterRegistry.find("jvm.memory.committed").meter();
- assertNotNull("The jvm.memory.committed meter mast be present in SpringBoot apps!", meter);
- }
-
@BeforeClass
public static void setup() throws IOException {
String serviceJson = StreamUtils.copyToString(new DefaultResourceLoader().getResource(
@@ -74,6 +68,13 @@ public class AbstractMicrometerTagTest {
CfEnvTestUtils.mockVcapServicesFromString(serviceJson);
}
+ @Before
+ public void before() {
+ assertThat(simpleMeterRegistry).isNotNull();
+ meter = simpleMeterRegistry.find("jvm.memory.committed").meter();
+ assertThat(meter).isNotNull();
+ }
+
@SpringBootApplication
@EnableConfigurationProperties(SimpleProperties.class)
public static class AutoConfigurationApplication {
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTagsTest.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTagsTest.java
similarity index 53%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTagsTest.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTagsTest.java
index f5b610e0..4fdd2b95 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTagsTest.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/CloudFoundryMicrometerCommonTagsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,10 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
-import org.hamcrest.Matchers;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
@@ -24,8 +23,7 @@ import org.junit.runner.RunWith;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.TestPropertySource;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Christian Tzolov
@@ -37,13 +35,13 @@ public class CloudFoundryMicrometerCommonTagsTest {
public static class ActiveCloudProfileDefaultValues extends AbstractMicrometerTagTest {
@Test
public void testDefaultTagValues() {
- assertThat(meter.getId().getTag("cf.org.name"), is("default"));
- assertThat(meter.getId().getTag("cf.space.id"), is("unknown"));
- assertThat(meter.getId().getTag("cf.space.name"), is("unknown"));
- assertThat(meter.getId().getTag("cf.app.name"), is("unknown"));
- assertThat(meter.getId().getTag("cf.app.id"), is("unknown"));
- assertThat(meter.getId().getTag("cf.app.version"), is("unknown"));
- assertThat(meter.getId().getTag("cf.instance.index"), is("0"));
+ assertThat(meter.getId().getTag("cf.org.name")).isEqualTo("default");
+ assertThat(meter.getId().getTag("cf.space.id")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("cf.space.name")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("cf.app.name")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("cf.app.id")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("cf.app.version")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("cf.instance.index")).isEqualTo("0");
}
}
@@ -54,19 +52,19 @@ public class CloudFoundryMicrometerCommonTagsTest {
"vcap.application.application_name=App666",
"vcap.application.application_id=666guid",
"vcap.application.application_version=2.0",
- "vcap.application.instance_index=123" })
+ "vcap.application.instance_index=123"})
@ActiveProfiles("cloud")
public static class ActiveCloudProfile extends AbstractMicrometerTagTest {
@Test
public void testPresetTagValues() {
- assertThat(meter.getId().getTag("cf.org.name"), is("PivotalOrg"));
- assertThat(meter.getId().getTag("cf.space.id"), is("SpringSpaceId"));
- assertThat(meter.getId().getTag("cf.space.name"), is("SpringSpace"));
- assertThat(meter.getId().getTag("cf.app.name"), is("App666"));
- assertThat(meter.getId().getTag("cf.app.id"), is("666guid"));
- assertThat(meter.getId().getTag("cf.app.version"), is("2.0"));
- assertThat(meter.getId().getTag("cf.instance.index"), is("123"));
+ assertThat(meter.getId().getTag("cf.org.name")).isEqualTo("PivotalOrg");
+ assertThat(meter.getId().getTag("cf.space.id")).isEqualTo("SpringSpaceId");
+ assertThat(meter.getId().getTag("cf.space.name")).isEqualTo("SpringSpace");
+ assertThat(meter.getId().getTag("cf.app.name")).isEqualTo("App666");
+ assertThat(meter.getId().getTag("cf.app.id")).isEqualTo("666guid");
+ assertThat(meter.getId().getTag("cf.app.version")).isEqualTo("2.0");
+ assertThat(meter.getId().getTag("cf.instance.index")).isEqualTo("123");
}
}
@@ -77,22 +75,22 @@ public class CloudFoundryMicrometerCommonTagsTest {
"vcap.application.application_name=App666",
"vcap.application.application_id=666guid",
"vcap.application.application_version=2.0",
- "vcap.application.instance_index=123" })
+ "vcap.application.instance_index=123"})
public static class InactiveCloudProfile extends AbstractMicrometerTagTest {
@Test
public void testDisabledTagValues() {
- assertThat(meter.getId().getTag("cf.org.name"), is(Matchers.nullValue()));
- assertThat(meter.getId().getTag("cf.space.id"), is(Matchers.nullValue()));
- assertThat(meter.getId().getTag("cf.space.name"), is(Matchers.nullValue()));
- assertThat(meter.getId().getTag("cf.app.name"), is(Matchers.nullValue()));
- assertThat(meter.getId().getTag("cf.app.id"), is(Matchers.nullValue()));
- assertThat(meter.getId().getTag("cf.app.version"), is(Matchers.nullValue()));
- assertThat(meter.getId().getTag("cf.instance.index"), is(Matchers.nullValue()));
+ assertThat(meter.getId().getTag("cf.org.name")).isNull();
+ assertThat(meter.getId().getTag("cf.space.id")).isNull();
+ assertThat(meter.getId().getTag("cf.space.name")).isNull();
+ assertThat(meter.getId().getTag("cf.app.name")).isNull();
+ assertThat(meter.getId().getTag("cf.app.id")).isNull();
+ assertThat(meter.getId().getTag("cf.app.version")).isNull();
+ assertThat(meter.getId().getTag("cf.instance.index")).isNull();
}
}
- @TestPropertySource(properties = { "spring.cloud.stream.app.metrics.cf.tags.enabled=false" })
+ @TestPropertySource(properties = {"spring.cloud.stream.app.metrics.cf.tags.enabled=false"})
@ActiveProfiles("cloud")
public static class ActiveCloudProfileDisabledProperty extends InactiveCloudProfile {
}
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/InfluxReservedKeywordHandlingTest.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/InfluxReservedKeywordHandlingTest.java
similarity index 79%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/InfluxReservedKeywordHandlingTest.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/InfluxReservedKeywordHandlingTest.java
index c9d06a51..8c30940c 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/InfluxReservedKeywordHandlingTest.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/InfluxReservedKeywordHandlingTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 the original author or authors.
+ * Copyright 2019-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
import io.micrometer.core.instrument.Meter;
import io.micrometer.influx.InfluxMeterRegistry;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -27,9 +27,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Christian Tzolov
@@ -38,7 +36,7 @@ import static org.junit.Assert.assertThat;
@SpringBootTest(classes = InfluxReservedKeywordHandlingTest.AutoConfigurationApplication.class,
properties = {
"management.metrics.export.influx.enabled=true",
- "spring.cloud.dataflow.stream.app.label=time" })
+ "spring.cloud.dataflow.stream.app.label=time"})
public class InfluxReservedKeywordHandlingTest {
@Autowired
@@ -46,11 +44,13 @@ public class InfluxReservedKeywordHandlingTest {
@Test
public void testPresetTagValues() {
- assertNotNull(influxMeterRegistry);
- Meter meter = influxMeterRegistry.find("jvm.memory.committed").meter();
- assertNotNull("The jvm.memory.committed meter mast be present in SpringBoot apps!", meter);
- assertThat(meter.getId().getTag("application.name"), is("atime"));
+ assertThat(influxMeterRegistry).isNotNull();
+
+ Meter meter = influxMeterRegistry.find("jvm.memory.committed").meter();
+ assertThat(meter).isNotNull();
+
+ assertThat(meter.getId().getTag("application.name")).isEqualTo(("atime"));
}
@SpringBootApplication
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTagsTest.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTagsTest.java
similarity index 52%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTagsTest.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTagsTest.java
index 5fef6c98..4fddb6e0 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTagsTest.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerCommonTagsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,18 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
import org.springframework.test.context.TestPropertySource;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Christian Tzolov
@@ -36,11 +34,11 @@ public class SpringCloudStreamMicrometerCommonTagsTest {
@Test
public void testDefaultTagValues() {
- assertThat(meter.getId().getTag("stream.name"), is("unknown"));
- assertThat(meter.getId().getTag("application.name"), is("unknown"));
- assertThat(meter.getId().getTag("instance.index"), is("0"));
- assertThat(meter.getId().getTag("application.type"), is("unknown"));
- assertThat(meter.getId().getTag("application.guid"), is("unknown"));
+ assertThat(meter.getId().getTag("stream.name")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("application.name")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("instance.index")).isEqualTo("0");
+ assertThat(meter.getId().getTag("application.type")).isEqualTo("unknown");
+ assertThat(meter.getId().getTag("application.guid")).isEqualTo("unknown");
}
}
@@ -49,29 +47,29 @@ public class SpringCloudStreamMicrometerCommonTagsTest {
"spring.cloud.dataflow.stream.app.label=myApp",
"spring.cloud.stream.instanceIndex=666",
"spring.cloud.application.guid=666guid",
- "spring.cloud.dataflow.stream.app.type=source" })
+ "spring.cloud.dataflow.stream.app.type=source"})
public static class TestPresetTagValues extends AbstractMicrometerTagTest {
@Test
public void testPresetTagValues() {
- assertThat(meter.getId().getTag("stream.name"), is("myStream"));
- assertThat(meter.getId().getTag("application.name"), is("myApp"));
- assertThat(meter.getId().getTag("instance.index"), is("666"));
- assertThat(meter.getId().getTag("application.type"), is("source"));
- assertThat(meter.getId().getTag("application.guid"), is("666guid"));
+ assertThat(meter.getId().getTag("stream.name")).isEqualTo("myStream");
+ assertThat(meter.getId().getTag("application.name")).isEqualTo("myApp");
+ assertThat(meter.getId().getTag("instance.index")).isEqualTo("666");
+ assertThat(meter.getId().getTag("application.type")).isEqualTo("source");
+ assertThat(meter.getId().getTag("application.guid")).isEqualTo("666guid");
}
}
- @TestPropertySource(properties = { "spring.cloud.stream.app.metrics.common.tags.enabled=false" })
+ @TestPropertySource(properties = {"spring.cloud.stream.app.metrics.common.tags.enabled=false"})
public static class TestDisabledTagValues extends AbstractMicrometerTagTest {
@Test
public void testDefaultTagValues() {
- assertThat(meter.getId().getTag("stream.name"), is(nullValue()));
- assertThat(meter.getId().getTag("application.name"), is(nullValue()));
- assertThat(meter.getId().getTag("instance.index"), is(nullValue()));
- assertThat(meter.getId().getTag("application.type"), is(nullValue()));
- assertThat(meter.getId().getTag("application.guid"), is(nullValue()));
+ assertThat(meter.getId().getTag("stream.name")).isNull();
+ assertThat(meter.getId().getTag("application.name")).isNull();
+ assertThat(meter.getId().getTag("instance.index")).isNull();
+ assertThat(meter.getId().getTag("application.type")).isNull();
+ assertThat(meter.getId().getTag("application.guid")).isNull();
}
}
}
diff --git a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessorTest.java b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessorTest.java
similarity index 63%
rename from applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessorTest.java
rename to applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessorTest.java
index da340292..26c4311a 100644
--- a/applications/apps-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessorTest.java
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/java/org/springframework/cloud/stream/app/micrometer/common/SpringCloudStreamMicrometerEnvironmentPostProcessorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,10 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.cloud.stream.app.micrometer.common;
-import org.hamcrest.core.Is;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
@@ -24,9 +23,7 @@ import org.junit.runner.RunWith;
import org.springframework.core.env.PropertySource;
import org.springframework.test.context.TestPropertySource;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Christian Tzolov
@@ -38,28 +35,23 @@ public class SpringCloudStreamMicrometerEnvironmentPostProcessorTest {
@Test
public void testDefaultProperties() {
- assertNotNull(context);
+
+ assertThat(context).isNotNull();
PropertySource propertySource = context.getEnvironment().getPropertySources()
.get(SpringCloudStreamMicrometerEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME);
- assertNotNull("Property source "
- + SpringCloudStreamMicrometerEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME + " is null",
- propertySource);
-
- assertThat(propertySource.getProperty("management.metrics.export.influx.enabled"), Is.is("false"));
- assertThat(propertySource.getProperty("management.metrics.export.prometheus.enabled"), Is.is("false"));
- assertThat(propertySource.getProperty("management.metrics.export.prometheus.rsocket.enabled"), Is.is("false"));
- assertThat(propertySource.getProperty("management.metrics.export.datadog.enabled"), Is.is("false"));
-
- assertThat(propertySource.getProperty("management.endpoints.web.exposure.include"), Is.is("prometheus"));
-
- assertThat(context.getEnvironment().getProperty("management.metrics.export.influx.enabled"), Is.is("false"));
- assertThat(context.getEnvironment().getProperty("management.metrics.export.prometheus.enabled"), Is.is("false"));
- assertThat(context.getEnvironment().getProperty("management.metrics.export.datadog.enabled"), Is.is("false"));
-
- assertThat(context.getEnvironment().getProperty("management.endpoints.web.exposure.include"), Is.is("prometheus"));
+ assertThat(propertySource).isNotNull();
+ assertThat(propertySource.getProperty("management.metrics.export.influx.enabled")).isEqualTo("false");
+ assertThat(propertySource.getProperty("management.metrics.export.prometheus.enabled")).isEqualTo("false");
+ assertThat(propertySource.getProperty("management.metrics.export.prometheus.rsocket.enabled")).isEqualTo("false");
+ assertThat(propertySource.getProperty("management.metrics.export.datadog.enabled")).isEqualTo("false");
+ assertThat(propertySource.getProperty("management.endpoints.web.exposure.include")).isEqualTo("prometheus");
+ assertThat(propertySource.getProperty("management.metrics.export.influx.enabled")).isEqualTo("false");
+ assertThat(propertySource.getProperty("management.metrics.export.prometheus.enabled")).isEqualTo("false");
+ assertThat(propertySource.getProperty("management.metrics.export.datadog.enabled")).isEqualTo("false");
+ assertThat(propertySource.getProperty("management.endpoints.web.exposure.include")).isEqualTo("prometheus");
}
}
@@ -74,21 +66,19 @@ public class SpringCloudStreamMicrometerEnvironmentPostProcessorTest {
@Test
public void testOverrideProperties() {
- assertNotNull(context);
+ assertThat(context).isNotNull();
PropertySource propertySource = context.getEnvironment().getPropertySources()
.get(SpringCloudStreamMicrometerEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME);
- assertNull("Property source "
- + SpringCloudStreamMicrometerEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME + " is not null",
- propertySource);
+ assertThat(propertySource).isNull();
- assertThat(context.getEnvironment().getProperty("management.metrics.export.influx.enabled"), Is.is("true"));
- assertThat(context.getEnvironment().getProperty("management.metrics.export.prometheus.enabled"), Is.is("true"));
- assertThat(context.getEnvironment().getProperty("management.metrics.export.prometheus.rsocket.enabled"), Is.is("true"));
- assertThat(context.getEnvironment().getProperty("management.metrics.export.datadog.enabled"), Is.is("true"));
+ assertThat(context.getEnvironment().getProperty("management.metrics.export.influx.enabled")).isEqualTo("true");
+ assertThat(context.getEnvironment().getProperty("management.metrics.export.prometheus.enabled")).isEqualTo("true");
+ assertThat(context.getEnvironment().getProperty("management.metrics.export.prometheus.rsocket.enabled")).isEqualTo("true");
+ assertThat(context.getEnvironment().getProperty("management.metrics.export.datadog.enabled")).isEqualTo("true");
- assertThat(context.getEnvironment().getProperty("management.endpoints.web.exposure.include"), Is.is("info,health"));
+ assertThat(context.getEnvironment().getProperty("management.endpoints.web.exposure.include")).isEqualTo("info,health");
}
}
}
diff --git a/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/resources/org/springframework/cloud/stream/app/micrometer/common/pcf-scs-info.json b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/resources/org/springframework/cloud/stream/app/micrometer/common/pcf-scs-info.json
new file mode 100644
index 00000000..d96e779d
--- /dev/null
+++ b/applications/stream-applications-core/common/stream-apps-micrometer-common/src/test/resources/org/springframework/cloud/stream/app/micrometer/common/pcf-scs-info.json
@@ -0,0 +1,18 @@
+{
+ "sso": [
+ {
+ "name": "sso",
+ "label": "sso",
+ "plan": "notfree",
+ "tags": [
+ "configuration"
+ ],
+ "credentials": {
+ "uri": "https://pivotal.io",
+ "client_id": "fakeClientId",
+ "client_secret": "fakeSecret",
+ "access_token_uri": "token"
+ }
+ }
+ ]
+}
diff --git a/applications/apps-core/common/stream-apps-postprocessor-common/pom.xml b/applications/stream-applications-core/common/stream-apps-postprocessor-common/pom.xml
similarity index 87%
rename from applications/apps-core/common/stream-apps-postprocessor-common/pom.xml
rename to applications/stream-applications-core/common/stream-apps-postprocessor-common/pom.xml
index 8107c8b5..4ebcbe59 100644
--- a/applications/apps-core/common/stream-apps-postprocessor-common/pom.xml
+++ b/applications/stream-applications-core/common/stream-apps-postprocessor-common/pom.xml
@@ -1,5 +1,5 @@
-
stream-apps-common
diff --git a/applications/apps-core/common/stream-apps-postprocessor-common/src/main/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessor.java b/applications/stream-applications-core/common/stream-apps-postprocessor-common/src/main/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessor.java
similarity index 98%
rename from applications/apps-core/common/stream-apps-postprocessor-common/src/main/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessor.java
rename to applications/stream-applications-core/common/stream-apps-postprocessor-common/src/main/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessor.java
index 470f6277..3d67061d 100644
--- a/applications/apps-core/common/stream-apps-postprocessor-common/src/main/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessor.java
+++ b/applications/stream-applications-core/common/stream-apps-postprocessor-common/src/main/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessor.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -15,6 +16,10 @@
package org.springframework.cloud.stream.app.postprocessor;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.cloud.stream.messaging.Sink;
@@ -22,33 +27,19 @@ import org.springframework.cloud.stream.messaging.Source;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.PropertiesPropertySource;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
/**
* An {@link EnvironmentPostProcessor} to set the {@code spring.cloud.stream.bindings.{input,output}.contentType}
* channel properties to a default of {@code application/octet-stream} if it has not been set already.
- *
+ *
* Subclasses may extend this class to change the default content type and channel name(s).
*
* @author Chris Schaefer
*/
public class ContentTypeEnvironmentPostProcessor implements EnvironmentPostProcessor {
- private Map channelMap = createChannelMap();
-
- private Map createChannelMap() {
- Map channelMap = new HashMap<>();
- channelMap.put(Sink.INPUT, "application/octet-stream");
- channelMap.put(Source.OUTPUT, "application/octet-stream");
-
- return channelMap;
- }
-
protected static final String PROPERTY_SOURCE_KEY_NAME = ContentTypeEnvironmentPostProcessor.class.getName();
protected static final String CONTENT_TYPE_PROPERTY_PREFIX = "spring.cloud.stream.bindings.";
protected static final String CONTENT_TYPE_PROPERTY_SUFFIX = ".contentType";
-
+ private Map channelMap = createChannelMap();
public ContentTypeEnvironmentPostProcessor() {
super();
}
@@ -67,6 +58,14 @@ public class ContentTypeEnvironmentPostProcessor implements EnvironmentPostProce
channelMap.put(channelName, contentType);
}
+ private Map createChannelMap() {
+ Map channelMap = new HashMap<>();
+ channelMap.put(Sink.INPUT, "application/octet-stream");
+ channelMap.put(Source.OUTPUT, "application/octet-stream");
+
+ return channelMap;
+ }
+
@Override
public void postProcessEnvironment(ConfigurableEnvironment configurableEnvironment, SpringApplication springApplication) {
Properties properties = new Properties();
diff --git a/applications/apps-core/common/stream-apps-postprocessor-common/src/test/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessorTests.java b/applications/stream-applications-core/common/stream-apps-postprocessor-common/src/test/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessorTests.java
similarity index 66%
rename from applications/apps-core/common/stream-apps-postprocessor-common/src/test/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessorTests.java
rename to applications/stream-applications-core/common/stream-apps-postprocessor-common/src/test/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessorTests.java
index bde024cf..64b7319a 100644
--- a/applications/apps-core/common/stream-apps-postprocessor-common/src/test/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessorTests.java
+++ b/applications/stream-applications-core/common/stream-apps-postprocessor-common/src/test/java/org/springframework/cloud/stream/app/postprocessor/ContentTypeEnvironmentPostProcessorTests.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -15,7 +16,12 @@
package org.springframework.cloud.stream.app.postprocessor;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
import org.junit.Test;
+
import org.springframework.boot.SpringApplication;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.builder.SpringApplicationBuilder;
@@ -27,12 +33,7 @@ import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.PropertiesPropertySource;
import org.springframework.core.env.PropertySource;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* Test cases for {@ContentTypeEnvironmentPostProcessor}.
@@ -40,6 +41,11 @@ import static org.junit.Assert.assertTrue;
* @author Chris Schaefer
*/
public class ContentTypeEnvironmentPostProcessorTests {
+ private static String getContentTypeProperty(String channelName) {
+ return ContentTypeEnvironmentPostProcessor.CONTENT_TYPE_PROPERTY_PREFIX + channelName
+ + ContentTypeEnvironmentPostProcessor.CONTENT_TYPE_PROPERTY_SUFFIX;
+ }
+
@Test
public void testPostProcessorDefaults() {
ConfigurableEnvironment configurableEnvironment = getEnvironment();
@@ -47,26 +53,17 @@ public class ContentTypeEnvironmentPostProcessorTests {
PropertySource propertySource = configurableEnvironment.getPropertySources()
.get(ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME);
- assertNotNull("Property source " + ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME + " is null",
- propertySource);
-
- assertTrue("Unexpected input content type", propertySource.getProperty(getContentTypeProperty(Sink.INPUT))
- .equals("application/octet-stream"));
-
- assertTrue("Unexpected output content type", propertySource.getProperty(getContentTypeProperty(Source.OUTPUT))
- .equals("application/octet-stream"));
+ assertThat(propertySource).isNotNull();
+ assertThat(propertySource.getProperty(getContentTypeProperty(Sink.INPUT))).isEqualTo("application/octet-stream");
+ assertThat(propertySource.getProperty(getContentTypeProperty(Source.OUTPUT))).isEqualTo("application/octet-stream");
}
@Test
public void testUserDefinedOutputContentType() {
PropertiesPropertySource testProperties = buildTestProperties(Source.OUTPUT, "text/plain");
ConfigurableEnvironment configurableEnvironment = getEnvironment(testProperties);
-
- assertTrue("Output contentType property key not found",
- configurableEnvironment.containsProperty(getContentTypeProperty(Source.OUTPUT)));
-
- assertTrue("Unexpected output content type", configurableEnvironment.getProperty(getContentTypeProperty(Source.OUTPUT))
- .equals("text/plain"));
+ assertThat(configurableEnvironment.containsProperty(getContentTypeProperty(Source.OUTPUT))).isTrue();
+ assertThat(configurableEnvironment.getProperty(getContentTypeProperty(Source.OUTPUT))).isEqualTo("text/plain");
}
@Test
@@ -74,11 +71,8 @@ public class ContentTypeEnvironmentPostProcessorTests {
PropertiesPropertySource testProperties = buildTestProperties(Sink.INPUT, "text/html");
ConfigurableEnvironment configurableEnvironment = getEnvironment(testProperties);
- assertTrue("Input contentType property key not found",
- configurableEnvironment.containsProperty(getContentTypeProperty(Sink.INPUT)));
-
- assertTrue("Unexpected input content type", configurableEnvironment.getProperty(getContentTypeProperty(Sink.INPUT))
- .equals("text/html"));
+ assertThat(configurableEnvironment.containsProperty(getContentTypeProperty(Sink.INPUT))).isTrue();
+ assertThat(configurableEnvironment.getProperty(getContentTypeProperty(Sink.INPUT))).isEqualTo("text/html");
}
@Test
@@ -88,23 +82,9 @@ public class ContentTypeEnvironmentPostProcessorTests {
PropertySource propertySource = configurableEnvironment.getPropertySources()
.get(ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME);
- assertNotNull("Property source " + ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME + " is null",
- propertySource);
-
- assertTrue("myChannelName contentType property key not found",
- propertySource.containsProperty(getContentTypeProperty("myChannelName")));
-
- assertTrue("Unexpected myChannelName content type", propertySource.getProperty(getContentTypeProperty("myChannelName"))
- .equals("application/octet-stream"));
- }
-
- public static class CustomChannel extends ContentTypeEnvironmentPostProcessor {
- private static final String CHANNEL_NAME = "myChannelName";
- private static final String CONTENT_TYPE = "application/octet-stream";
-
- public CustomChannel() {
- super(CHANNEL_NAME, CONTENT_TYPE);
- }
+ assertThat(propertySource).isNotNull();
+ assertThat(propertySource.containsProperty(getContentTypeProperty("myChannelName"))).isTrue();
+ assertThat(propertySource.getProperty(getContentTypeProperty("myChannelName"))).isEqualTo("application/octet-stream");
}
@Test
@@ -114,20 +94,11 @@ public class ContentTypeEnvironmentPostProcessorTests {
PropertySource propertySource = configurableEnvironment.getPropertySources()
.get(ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME);
- assertNotNull("Property source " + ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME + " is null",
- propertySource);
-
- assertTrue("Output contentType property key not found",
- propertySource.containsProperty(getContentTypeProperty(Source.OUTPUT)));
-
- assertTrue("Unexpected output content type", propertySource.getProperty(getContentTypeProperty(Source.OUTPUT))
- .equals("image/jpeg"));
-
- assertTrue("Input contentType property key not found",
- propertySource.containsProperty(getContentTypeProperty(Sink.INPUT)));
-
- assertTrue("Unexpected input content type", propertySource.getProperty(getContentTypeProperty(Sink.INPUT))
- .equals("image/gif"));
+ assertThat(propertySource).isNotNull();
+ assertThat(propertySource.containsProperty(getContentTypeProperty(Source.OUTPUT))).isTrue();
+ assertThat(propertySource.getProperty(getContentTypeProperty(Source.OUTPUT))).isEqualTo("image/jpeg");
+ assertThat(propertySource.containsProperty(getContentTypeProperty(Sink.INPUT))).isTrue();
+ assertThat(propertySource.getProperty(getContentTypeProperty(Sink.INPUT))).isEqualTo("image/gif");
}
@Test
@@ -137,49 +108,12 @@ public class ContentTypeEnvironmentPostProcessorTests {
PropertySource propertySource = configurableEnvironment.getPropertySources()
.get(ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME);
- assertNotNull("Property source " + ContentTypeEnvironmentPostProcessor.PROPERTY_SOURCE_KEY_NAME + " is null",
- propertySource);
- assertTrue("Output contentType property key not found",
- propertySource.containsProperty(getContentTypeProperty(Source.OUTPUT)));
-
- assertTrue("Unexpected output content type", propertySource.getProperty(getContentTypeProperty(Source.OUTPUT))
- .equals("image/jpeg"));
-
- assertTrue("Input contentType property key not found",
- propertySource.containsProperty(getContentTypeProperty(Sink.INPUT)));
-
- assertTrue("Unexpected input content type", propertySource.getProperty(getContentTypeProperty(Sink.INPUT))
- .equals("image/jpeg"));
- }
-
- public static class ChannelSameContentType extends ContentTypeEnvironmentPostProcessor {
- private static final String CONTENT_TYPE = "image/jpeg";
-
- public ChannelSameContentType() {
- super(CONTENT_TYPE);
- }
- }
-
- public static class DefaultChannelsCustomContentTypes extends ContentTypeEnvironmentPostProcessor {
- private static Map CHANNEL_MAP = createChannelMap();
-
- private static Map createChannelMap() {
- Map channelMap = new HashMap<>();
- channelMap.put(Source.OUTPUT, "image/jpeg");
- channelMap.put(Sink.INPUT, "image/gif");
-
- return channelMap;
- }
-
- public DefaultChannelsCustomContentTypes() {
- super(CHANNEL_MAP);
- }
- }
-
- private static String getContentTypeProperty(String channelName) {
- return ContentTypeEnvironmentPostProcessor.CONTENT_TYPE_PROPERTY_PREFIX + channelName
- + ContentTypeEnvironmentPostProcessor.CONTENT_TYPE_PROPERTY_SUFFIX;
+ assertThat(propertySource).isNotNull();
+ assertThat(propertySource.containsProperty(getContentTypeProperty(Source.OUTPUT))).isTrue();
+ assertThat(propertySource.getProperty(getContentTypeProperty(Source.OUTPUT))).isEqualTo("image/jpeg");
+ assertThat(propertySource.containsProperty(getContentTypeProperty(Sink.INPUT))).isTrue();
+ assertThat(propertySource.getProperty(getContentTypeProperty(Sink.INPUT))).isEqualTo("image/jpeg");
}
private PropertiesPropertySource buildTestProperties(String channelName, String contentType) {
@@ -202,7 +136,7 @@ public class ContentTypeEnvironmentPostProcessorTests {
}
private ConfigurableEnvironment getEnvironment(PropertiesPropertySource propertiesPropertySource,
- EnvironmentPostProcessor environmentPostProcessor) {
+ EnvironmentPostProcessor environmentPostProcessor) {
SpringApplication springApplication = new SpringApplicationBuilder()
.sources(ContentTypeEnvironmentPostProcessorTests.class)
.web(WebApplicationType.NONE).build();
@@ -224,4 +158,37 @@ public class ContentTypeEnvironmentPostProcessorTests {
return configurableEnvironment;
}
+
+ public static class CustomChannel extends ContentTypeEnvironmentPostProcessor {
+ private static final String CHANNEL_NAME = "myChannelName";
+ private static final String CONTENT_TYPE = "application/octet-stream";
+
+ public CustomChannel() {
+ super(CHANNEL_NAME, CONTENT_TYPE);
+ }
+ }
+
+ public static class ChannelSameContentType extends ContentTypeEnvironmentPostProcessor {
+ private static final String CONTENT_TYPE = "image/jpeg";
+
+ public ChannelSameContentType() {
+ super(CONTENT_TYPE);
+ }
+ }
+
+ public static class DefaultChannelsCustomContentTypes extends ContentTypeEnvironmentPostProcessor {
+ private static Map CHANNEL_MAP = createChannelMap();
+
+ public DefaultChannelsCustomContentTypes() {
+ super(CHANNEL_MAP);
+ }
+
+ private static Map createChannelMap() {
+ Map channelMap = new HashMap<>();
+ channelMap.put(Source.OUTPUT, "image/jpeg");
+ channelMap.put(Sink.INPUT, "image/gif");
+
+ return channelMap;
+ }
+ }
}
diff --git a/applications/apps-core/common/stream-apps-security-common/README.adoc b/applications/stream-applications-core/common/stream-apps-security-common/README.adoc
similarity index 100%
rename from applications/apps-core/common/stream-apps-security-common/README.adoc
rename to applications/stream-applications-core/common/stream-apps-security-common/README.adoc
diff --git a/applications/stream-applications-core/common/stream-apps-security-common/pom.xml b/applications/stream-applications-core/common/stream-apps-security-common/pom.xml
new file mode 100644
index 00000000..75e41ea0
--- /dev/null
+++ b/applications/stream-applications-core/common/stream-apps-security-common/pom.xml
@@ -0,0 +1,52 @@
+
+
+
+ stream-apps-common
+ org.springframework.cloud.stream.app
+ 3.0.0.BUILD-SNAPSHOT
+
+ 4.0.0
+
+ stream-apps-security-common
+
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure-processor
+ true
+
+
+ javax.servlet
+ javax.servlet-api
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-webflux
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ true
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+
diff --git a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebFluxSecurityAutoConfiguration.java b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebFluxSecurityAutoConfiguration.java
similarity index 86%
rename from applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebFluxSecurityAutoConfiguration.java
rename to applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebFluxSecurityAutoConfiguration.java
index 7d160091..31474a71 100644
--- a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebFluxSecurityAutoConfiguration.java
+++ b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebFluxSecurityAutoConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 the original author or authors.
+ * Copyright 2019-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
package org.springframework.cloud.stream.app.security.common;
+import reactor.core.publisher.Flux;
+
import org.springframework.boot.actuate.autoconfigure.security.reactive.ReactiveManagementWebSecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -32,26 +34,23 @@ import org.springframework.security.web.server.SecurityWebFilterChain;
import org.springframework.security.web.server.WebFilterChainProxy;
import org.springframework.web.reactive.config.WebFluxConfigurer;
-import reactor.core.publisher.Flux;
-
/**
* @author Artem Bilan
- *
* @since 3.0
*/
@Conditional(OnHttpCsrfOrSecurityDisabled.class)
@Configuration
-@ConditionalOnClass({ Flux.class, EnableWebFluxSecurity.class, WebFilterChainProxy.class, WebFluxConfigurer.class })
+@ConditionalOnClass({Flux.class, EnableWebFluxSecurity.class, WebFilterChainProxy.class, WebFluxConfigurer.class})
@ConditionalOnMissingBean(WebFilterChainProxy.class)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
-@AutoConfigureBefore(value = { ReactiveManagementWebSecurityAutoConfiguration.class,
- ReactiveSecurityAutoConfiguration.class })
+@AutoConfigureBefore({ReactiveManagementWebSecurityAutoConfiguration.class,
+ ReactiveSecurityAutoConfiguration.class})
@EnableConfigurationProperties(AppStarterWebSecurityAutoConfigurationProperties.class)
public class AppStarterWebFluxSecurityAutoConfiguration {
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http,
- AppStarterWebSecurityAutoConfigurationProperties securityProperties) {
+ AppStarterWebSecurityAutoConfigurationProperties securityProperties) {
if (!securityProperties.isCsrfEnabled()) {
http.csrf().disable();
}
diff --git a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfiguration.java b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfiguration.java
similarity index 96%
rename from applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfiguration.java
rename to applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfiguration.java
index 8e451ceb..300d53af 100644
--- a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfiguration.java
+++ b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfiguration.java
@@ -34,7 +34,6 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
/**
* @author Christian Tzolov
* @author Artem Bilan
- *
* @since 2.1
*/
@Conditional(OnHttpCsrfOrSecurityDisabled.class)
@@ -42,7 +41,7 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
@ConditionalOnClass(WebSecurityConfigurerAdapter.class)
@ConditionalOnMissingBean(WebSecurityConfigurerAdapter.class)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
-@AutoConfigureBefore(value = { ManagementWebSecurityAutoConfiguration.class, SecurityAutoConfiguration.class })
+@AutoConfigureBefore({ManagementWebSecurityAutoConfiguration.class, SecurityAutoConfiguration.class})
@EnableConfigurationProperties(AppStarterWebSecurityAutoConfigurationProperties.class)
@EnableWebSecurity
public class AppStarterWebSecurityAutoConfiguration {
diff --git a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfigurationProperties.java b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfigurationProperties.java
similarity index 96%
rename from applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfigurationProperties.java
rename to applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfigurationProperties.java
index 7ed36d7a..4bbbbedf 100644
--- a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfigurationProperties.java
+++ b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/AppStarterWebSecurityAutoConfigurationProperties.java
@@ -1,5 +1,6 @@
/*
- * Copyright 2018 the original author or authors.
+ * Copyright 2018-2020 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -22,7 +23,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Christian Tzolov
* @author Artem Bilan
- *
* @since 2.1
*/
@ConfigurationProperties("spring.cloud.streamapp.security")
diff --git a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/OnHttpCsrfOrSecurityDisabled.java b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/OnHttpCsrfOrSecurityDisabled.java
similarity index 96%
rename from applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/OnHttpCsrfOrSecurityDisabled.java
rename to applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/OnHttpCsrfOrSecurityDisabled.java
index 70e0ff22..bcca41a1 100644
--- a/applications/apps-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/OnHttpCsrfOrSecurityDisabled.java
+++ b/applications/stream-applications-core/common/stream-apps-security-common/src/main/java/org/springframework/cloud/stream/app/security/common/OnHttpCsrfOrSecurityDisabled.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 the original author or authors.
+ * Copyright 2019-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -24,7 +24,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
* overriding out-of-the-box one in Spring Boot.
*
* @author Artem Bilan
- *
* @since 3.0
*/
class OnHttpCsrfOrSecurityDisabled extends AnyNestedCondition {
diff --git a/applications/apps-core/common/stream-apps-security-common/src/main/resources/META-INF/spring.factories b/applications/stream-applications-core/common/stream-apps-security-common/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from applications/apps-core/common/stream-apps-security-common/src/main/resources/META-INF/spring.factories
rename to applications/stream-applications-core/common/stream-apps-security-common/src/main/resources/META-INF/spring.factories
diff --git a/applications/apps-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/AbstractSecurityCommonTests.java b/applications/stream-applications-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/AbstractSecurityCommonTests.java
similarity index 100%
rename from applications/apps-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/AbstractSecurityCommonTests.java
rename to applications/stream-applications-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/AbstractSecurityCommonTests.java
diff --git a/applications/apps-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/ReactiveSecurityDisabledManagementSecurityEnabledTests.java b/applications/stream-applications-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/ReactiveSecurityDisabledManagementSecurityEnabledTests.java
similarity index 75%
rename from applications/apps-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/ReactiveSecurityDisabledManagementSecurityEnabledTests.java
rename to applications/stream-applications-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/ReactiveSecurityDisabledManagementSecurityEnabledTests.java
index 9474e504..be25cbff 100644
--- a/applications/apps-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/ReactiveSecurityDisabledManagementSecurityEnabledTests.java
+++ b/applications/stream-applications-core/common/stream-apps-security-common/src/test/java/org/springframework/cloud/stream/app/security/common/ReactiveSecurityDisabledManagementSecurityEnabledTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 the original author or authors.
+ * Copyright 2019-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,9 +16,6 @@
package org.springframework.cloud.stream.app.security.common;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
import java.util.Map;
import org.junit.jupiter.api.Test;
@@ -27,44 +24,46 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.TestPropertySource;
+import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
+
/**
* @author Artem Bilan
- *
* @since 3.0
*/
@TestPropertySource(properties = {
"spring.main.web-application-type=reactive",
"spring.cloud.streamapp.security.enabled=false",
"management.endpoints.web.exposure.include=health,info,env",
- "info.name=MY TEST APP" })
+ "info.name=MY TEST APP"})
public class ReactiveSecurityDisabledManagementSecurityEnabledTests extends AbstractSecurityCommonTests {
@Test
@SuppressWarnings("rawtypes")
public void testHealthEndpoint() {
ResponseEntity