├── .gitignore ├── .gradletasknamecache ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.adoc ├── awesome-kotlin ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── github │ │ │ └── daggerok │ │ │ └── AwesomeKotlinApplication.kt │ └── resources │ │ ├── application.properties │ │ ├── static │ │ └── hello.txt │ │ └── templates │ │ └── index.html │ └── test │ └── kotlin │ └── com │ └── github │ └── daggerok │ └── AwesomeKotlinApplicationTests.kt ├── axon-lock ├── .gitignore ├── .hgignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .npmignore ├── .travis.yml ├── README.adoc ├── axon-app │ ├── .gitignore │ ├── .mvn │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── gradle │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── AxonApplication.java │ │ │ │ ├── AxonManualApplication.java │ │ │ │ ├── api │ │ │ │ ├── Commands.kt │ │ │ │ └── Events.kt │ │ │ │ ├── entrance │ │ │ │ └── Entrance.java │ │ │ │ └── guest │ │ │ │ └── Guest.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── daggerok │ │ ├── AxonApplicationTests.java │ │ ├── entrance │ │ └── EntranceTest.java │ │ └── guest │ │ └── GuestTest.java ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml └── settings.gradle ├── axon-vote ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.adoc ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── daggerok │ │ │ └── VotingApp.java │ ├── kotlin │ │ └── daggerok │ │ │ ├── AxonConfig.kt │ │ │ ├── AxonResource.kt │ │ │ ├── DocumentConverter.kt │ │ │ ├── RestHelper.kt │ │ │ ├── counter │ │ │ ├── AxonCounterConfig.kt │ │ │ ├── CQRS.kt │ │ │ ├── CounterAggregator.kt │ │ │ └── CounterResource.kt │ │ │ └── vote │ │ │ ├── AxonVoteConfig.kt │ │ │ ├── VoteAggregator.kt │ │ │ ├── VoteCqrsAPI.kt │ │ │ └── VoteResources.kt │ └── resources │ │ └── application.properties │ └── test │ └── kotlin │ └── daggerok │ └── vote │ └── VoteAggregatorTest.kt ├── boot-jsp ├── .gitignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── docs │ ├── docinfo-footer.html │ ├── docinfo.html │ ├── favicon.ico │ └── index.adoc ├── gradle.properties ├── gradle │ ├── Dockerfile │ ├── build-scan.gradle │ ├── clean.gradle │ ├── docker-compose.gradle │ ├── docs.gradle │ ├── findbugs.gradle │ ├── ide.gradle │ ├── jacoco.gradle │ ├── java.gradle │ ├── jgiven.gradle │ ├── junit.gradle │ ├── kotlin.gradle │ ├── repositories-config.gradle │ ├── repositories.gradle │ ├── selenide.gradle │ ├── spring-boot.gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── idea.xml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ ├── daggerok │ │ │ └── App.kt │ │ └── lombok.config │ ├── resources │ │ ├── application-spring-boot.yaml │ │ ├── application.yaml │ │ └── public │ │ │ └── favicon.ico │ └── webapp │ │ └── WEB-INF │ │ └── views │ │ └── index.jsp │ └── test │ ├── java │ └── daggerok │ │ ├── AppJUnit4Test.java │ │ ├── AppJUnit5Test.java │ │ └── extensions │ │ └── CaptureSystemOutput.java │ └── kotlin │ ├── AppTests.kt │ └── daggerok │ ├── junit4 │ └── AppTests.kt │ └── junit5 │ └── AppTests.kt ├── build.gradle ├── fn ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── daggerok │ │ └── FnApplication.java │ └── resources │ └── application.properties ├── functional-spring ├── README.asciidoc ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── reactive-client │ ├── build.gradle │ ├── settings.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── ReactiveClientApplication.java │ │ │ │ └── config │ │ │ │ ├── ReactiveServerProperties.java │ │ │ │ ├── ReactiveWebClient.java │ │ │ │ └── WebClientConfig.java │ │ └── resources │ │ │ ├── application.yml │ │ │ └── config │ │ │ └── application-rest-api-config.yml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveClientApplicationTests.java ├── reactive-old-service │ ├── build.gradle │ ├── settings.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ └── OldReactiveServiceApplication.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── OldReactiveServiceApplicationTests.java ├── reactive-service │ ├── build.gradle │ ├── settings.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ └── ReactiveServiceApplication.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveServiceApplicationTests.java └── settings.gradle ├── github-api-v3-gateway ├── .gitignore ├── .hgignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── build.gradle ├── gradle │ ├── Dockerfile │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── webflux-gateway │ ├── .gitignore │ ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── docker-compose-gradle.yaml │ ├── docker-compose-maven.yaml │ ├── gradle │ ├── Dockerfile │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── daggerok │ │ │ ├── WebfluxGatewayApplication.java │ │ │ └── github │ │ │ ├── GithubHealthIndicator.java │ │ │ ├── GithubProperties.java │ │ │ ├── GithubRoutesConfig.java │ │ │ └── WebClientAuthMiddlewareConfig.java │ └── resources │ │ ├── application.properties │ │ └── config │ │ ├── application-github-default.properties │ │ └── application-spring-boot.properties │ └── test │ └── java │ └── daggerok │ └── WebfluxGatewayApplicationTests.java ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── hotel ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── 4del │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── WebappApplication.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── WebappApplicationTests.java ├── README.adoc ├── build.gradle ├── docker-compose.yaml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── reservations │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── docker-compose.yml │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── ReservationsApplication.java │ │ │ │ └── reservations │ │ │ │ ├── HandlerFunctions.java │ │ │ │ ├── Reservation.java │ │ │ │ ├── ReservationAPI.java │ │ │ │ └── ReservationRepository.java │ │ └── resources │ │ │ └── application.yaml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReservationsApplicationTests.java ├── settings.gradle └── webapp │ ├── .gitignore │ ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── Dockerfile │ ├── Dockerfile-gradle │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── daggerok │ │ │ ├── WebappApplication.java │ │ │ └── web │ │ │ └── IndexPage.java │ └── resources │ │ ├── application.yaml │ │ └── templates │ │ └── index.mustache │ └── test │ └── java │ └── daggerok │ └── WebappApplicationTests.java ├── kotlin-beans-dsl ├── .gitignore ├── .hgignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── kotlin-config-dsl │ ├── .mvn │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── gradle │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── kotlin │ │ │ └── daggerok │ │ │ │ └── KotlinConfigDslApplication.kt │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── kotlin │ │ └── daggerok │ │ └── KotlinConfigDslApplicationTests.kt ├── mvnw ├── mvnw.cmd ├── pom.xml └── settings.gradle ├── listener-of-listener ├── .gitignore ├── .hgignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── kotlin-listeners │ ├── .gitignore │ ├── .mvn │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── gradle │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── kotlin │ │ │ └── daggerok │ │ │ │ └── KotlinListenersApplication.kt │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── kotlin │ │ └── daggerok │ │ └── KotlinListenersApplicationTests.kt ├── mvnw ├── mvnw.cmd ├── pom.xml └── settings.gradle ├── mailbox ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── 4del │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── WebappApplication.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── WebappApplicationTests.java ├── README.adoc ├── build.gradle ├── docker-compose.yaml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle ├── users-map │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── docker-compose.yml │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── MapUsersApplication.java │ │ │ │ └── users │ │ │ │ ├── User.java │ │ │ │ ├── UserRepository.java │ │ │ │ └── UserRoutes.java │ │ └── resources │ │ │ └── application.yaml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── MapUsersApplicationTests.java ├── users-mongo │ ├── .gitignore │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── docker-compose.yml │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── MongoUsesApplication.java │ │ │ │ └── users │ │ │ │ ├── User.java │ │ │ │ ├── UserRepository.java │ │ │ │ └── UserRoutes.java │ │ └── resources │ │ │ └── application.yaml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── MongoUsesApplicationTests.java └── webapp │ ├── .gitignore │ ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── Dockerfile │ ├── Dockerfile-gradle │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── daggerok │ │ │ ├── WebappApplication.java │ │ │ └── web │ │ │ ├── IndexPage.java │ │ │ ├── SecurityAdvice.java │ │ │ └── SecurityConfig.java │ └── resources │ │ ├── application.yaml │ │ ├── static │ │ ├── css │ │ │ └── style.css │ │ └── favicon.ico │ │ └── templates │ │ ├── index.mustache │ │ └── layout │ │ ├── end.mustache │ │ └── start.mustache │ └── test │ └── java │ └── daggerok │ └── WebappApplicationTests.java ├── makrdown-blog ├── .gitignore ├── .hgignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle.properties ├── gradle │ ├── Dockerfile │ ├── build-scan.gradle │ ├── clean.gradle │ ├── docker-compose.gradle │ ├── findbugs.gradle │ ├── ide.gradle │ ├── jacoco.gradle │ ├── java.gradle │ ├── jgiven.gradle │ ├── junit.gradle │ ├── kotlin.gradle │ ├── repositories-config.gradle │ ├── repositories.gradle │ ├── selenide.gradle │ ├── spring-boot.gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── idea.xml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ ├── daggerok │ │ │ ├── App.kt │ │ │ └── app │ │ │ │ ├── jdbc │ │ │ │ ├── Entities.kt │ │ │ │ ├── JdbcConfig.kt │ │ │ │ ├── PopulateDataRunner.kt │ │ │ │ └── Repositories.kt │ │ │ │ └── web │ │ │ │ ├── MarkdownConverter.kt │ │ │ │ ├── MustacheConfig.kt │ │ │ │ └── RoutesConfig.kt │ │ └── lombok.config │ └── resources │ │ ├── application-spring-boot.yaml │ │ ├── application.yaml │ │ ├── public │ │ └── favicon.ico │ │ ├── schema.sql │ │ └── templates │ │ ├── article.mustache │ │ ├── index.mustache │ │ └── parts │ │ ├── footer.mustache │ │ └── header.mustache │ └── test │ ├── java │ └── daggerok │ │ ├── AppJUnit4Test.java │ │ ├── AppJUnit5Test.java │ │ └── extensions │ │ └── CaptureSystemOutput.java │ ├── kotlin │ └── daggerok │ │ ├── Web App Tests.kt │ │ └── junit4 │ │ └── AppTests.kt │ └── resources │ └── junit-platform.properties ├── mapdb ├── .gitignore ├── .hgignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle │ ├── Dockerfile │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle ├── src │ ├── main │ │ ├── java │ │ │ ├── daggerok │ │ │ │ └── App.kt │ │ │ └── lombok.config │ │ ├── kotlin │ │ │ └── daggerok │ │ │ │ └── rest │ │ │ │ └── Webflux.kt │ │ └── resources │ │ │ ├── application.yaml │ │ │ └── config │ │ │ └── application-spring-boot.yaml │ └── test │ │ ├── java │ │ └── daggerok │ │ │ ├── AppJUnit4Test.java │ │ │ ├── AppJUnit5Test.java │ │ │ └── extensions │ │ │ └── CaptureSystemOutput.java │ │ └── kotlin │ │ └── AppTests.kt └── stuff │ ├── README.md │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── rickardoberg │ │ │ ├── cqrs │ │ │ ├── domain │ │ │ │ ├── Entity.java │ │ │ │ ├── Identifier.java │ │ │ │ ├── VersionedId.java │ │ │ │ └── repository │ │ │ │ │ └── Repository.java │ │ │ ├── event │ │ │ │ ├── Event.java │ │ │ │ ├── Interaction.java │ │ │ │ ├── InteractionContext.java │ │ │ │ ├── InteractionContextSink.java │ │ │ │ ├── InteractionSource.java │ │ │ │ └── store │ │ │ │ │ ├── EventSource.java │ │ │ │ │ └── EventStore.java │ │ │ └── memory │ │ │ │ ├── CustomClassIdResolver.java │ │ │ │ ├── FileEventStorage.java │ │ │ │ ├── InMemoryEventStore.java │ │ │ │ ├── InMemoryRepository.java │ │ │ │ ├── InteractionContextDeserializer.java │ │ │ │ ├── InteractionContextSerializer.java │ │ │ │ └── JacksonEvent.java │ │ │ └── stuff │ │ │ ├── domain │ │ │ ├── Project.java │ │ │ └── Task.java │ │ │ ├── event │ │ │ ├── ChangedDescriptionEvent.java │ │ │ ├── CreatedEvent.java │ │ │ ├── DeletedEvent.java │ │ │ └── DoneEvent.java │ │ │ ├── rest │ │ │ ├── StuffApplication.java │ │ │ ├── StuffComponent.java │ │ │ └── inbox │ │ │ │ ├── InboxResource.java │ │ │ │ └── TaskResource.java │ │ │ ├── usecase │ │ │ ├── Inbox.java │ │ │ ├── Overview.java │ │ │ └── Projects.java │ │ │ └── view │ │ │ ├── InMemoryInboxModel.java │ │ │ ├── InboxModel.java │ │ │ ├── LoggingModel.java │ │ │ ├── Models.java │ │ │ └── Neo4jInboxModel.java │ ├── resources │ │ ├── htdocs │ │ │ ├── footer.html │ │ │ ├── index.html │ │ │ ├── menu.html │ │ │ ├── stuff.css │ │ │ └── stuff.js │ │ ├── inbox │ │ │ ├── inbox.html │ │ │ ├── newtask.html │ │ │ └── task │ │ │ │ └── task.html │ │ └── velocity.properties │ └── webapp │ │ └── WEB-INF │ │ └── web.xml │ └── test │ └── java │ └── com │ └── github │ └── rickardoberg │ ├── cqrs │ └── memory │ │ └── FileEventStorageTest.java │ └── stuff │ ├── usecase │ └── InboxTest.java │ └── view │ └── InboxModelTest.java ├── monolith ├── .gitignore ├── .hgignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── app │ ├── .gitignore │ ├── .mvn │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── build.gradle │ ├── gradle │ │ ├── Dockerfile │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── AppApplication.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── messages.properties │ │ │ ├── messages_ru.properties │ │ │ ├── static │ │ │ ├── favicon.ico │ │ │ ├── main.js │ │ │ └── style.css │ │ │ └── templates │ │ │ └── index.html │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── AppApplicationTests.java ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml └── settings.gradle ├── mustache-json ├── Dockerfile ├── README.adoc ├── build.gradle ├── docker-compose.yaml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ └── main │ ├── java │ └── daggerok │ │ └── MustacheJsonApplication.java │ └── resources │ ├── application.properties │ └── templates │ ├── hello.json │ └── index.json ├── mvnw ├── mvnw.cmd ├── optional-mvc-path-variable ├── .java-version ├── README.md ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── optionalmvcpathvariable │ │ │ │ ├── OptionalMvcPathVariableApplication.java │ │ │ │ ├── nullable │ │ │ │ ├── NonNullableController.java │ │ │ │ └── NullableController.java │ │ │ │ └── optional │ │ │ │ └── OptionalController.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── templates │ │ │ ├── non-nullable.html │ │ │ ├── nullable.html │ │ │ └── optional.html │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── optionalmvcpathvariable │ │ └── OptionalMvcPathVariableApplicationTests.java └── test.http ├── reactive-functional-security ├── README.adoc ├── boot-reactive-backend │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ ├── BootReactiveBackendApplication.java │ │ │ ├── data │ │ │ ├── Movie.java │ │ │ └── MovieReactiveRepository.java │ │ │ ├── rest │ │ │ ├── MovieFunctionalRoute.java │ │ │ └── MovieHandler.java │ │ │ ├── security │ │ │ └── SecurityConfig.java │ │ │ ├── service │ │ │ ├── MovieEvent.java │ │ │ └── MovieService.java │ │ │ └── testdata │ │ │ └── MoveTestData.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── BootReactiveBackendApplicationTests.java ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ └── docker-compose.yml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── reactive-mongo-webflux-functional ├── README.adoc ├── boot-reactive-backend │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ ├── BootReactiveBackendApplication.java │ │ │ ├── data │ │ │ ├── Movie.java │ │ │ └── MovieReactiveRepository.java │ │ │ ├── rest │ │ │ ├── MovieFunctionalRoute.java │ │ │ └── MovieHandler.java │ │ │ ├── service │ │ │ ├── MovieEvent.java │ │ │ └── MovieService.java │ │ │ └── testdata │ │ │ └── MoveTestData.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── BootReactiveBackendApplicationTests.java ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ └── docker-compose.yml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── reactive-mongo-webflux ├── README.adoc ├── boot-reactive-backend │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ ├── BootReactiveBackendApplication.java │ │ │ ├── data │ │ │ ├── Movie.java │ │ │ └── MovieReactiveRepository.java │ │ │ ├── rest │ │ │ └── MovieRestResiurce.java │ │ │ ├── service │ │ │ ├── MovieEvent.java │ │ │ └── MovieService.java │ │ │ └── testdata │ │ │ └── MoveTestData.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── BootReactiveBackendApplicationTests.java ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ └── docker-compose.yml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── reactive-ngrx ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.adoc ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── seed-projects │ ├── .gitignore │ └── README.adoc └── src │ ├── main │ ├── docker │ │ ├── docker-compose.yaml │ │ ├── gradle │ │ │ └── Dockerfile │ │ └── maven │ │ │ └── Dockerfile │ ├── java │ │ └── daggerok │ │ │ └── ReactiveNgRxApplication.java │ ├── ngrx │ │ ├── .angular-cli.json │ │ ├── .editorconfig │ │ ├── README.adoc │ │ ├── package.json │ │ ├── src │ │ │ ├── app │ │ │ │ ├── app-routing.module.ts │ │ │ │ ├── app.component.ts │ │ │ │ └── app.module.ts │ │ │ ├── assets │ │ │ │ └── .gitkeep │ │ │ ├── environments │ │ │ │ ├── environment.prod.ts │ │ │ │ └── environment.ts │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── main.ts │ │ │ ├── polyfills.ts │ │ │ ├── styles.styl │ │ │ ├── tsconfig.app.json │ │ │ └── typings.d.ts │ │ ├── tsconfig.json │ │ └── tslint.json │ └── resources │ │ └── application.yaml │ └── test │ └── java │ └── daggerok │ └── ReactiveNgRxApplicationTests.java ├── reactive-security-auth ├── README.adoc ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ └── docker-compose.yml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── reactive-backend │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ ├── ReactiveBackendApplication.java │ │ │ ├── data │ │ │ ├── Movie.java │ │ │ ├── MovieReactiveRepository.java │ │ │ ├── User.java │ │ │ └── UserReactiveRepository.java │ │ │ ├── rest │ │ │ ├── MovieFunctionalRoute.java │ │ │ └── MovieHandler.java │ │ │ ├── security │ │ │ └── SecurityConfig.java │ │ │ ├── service │ │ │ ├── MovieEvent.java │ │ │ └── MovieService.java │ │ │ └── testdata │ │ │ └── MoveTestData.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveBackendApplicationTests.java ├── reactive-client │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── ReactiveClientApplication.java │ │ │ │ ├── config │ │ │ │ ├── ClientRouterFunctionConfig.java │ │ │ │ ├── ReactiveBackendConfig.java │ │ │ │ └── ReactiveBackendWebClientConfig.java │ │ │ │ ├── dto │ │ │ │ ├── Movie.java │ │ │ │ └── MovieEvent.java │ │ │ │ └── rest │ │ │ │ ├── ClientResource.java │ │ │ │ └── EventHandler.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveClientApplicationTests.java └── settings.gradle ├── reactive-security-client-cassandra ├── README.adoc ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ ├── docker-compose.yml │ └── entrypoint.sh ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── reactive-backend │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ ├── ReactiveBackendApplication.java │ │ │ ├── data │ │ │ ├── Movie.java │ │ │ ├── MovieReactiveRepository.java │ │ │ ├── User.java │ │ │ └── UserReactiveRepository.java │ │ │ ├── rest │ │ │ ├── MovieFunctionalRoute.java │ │ │ └── MovieHandler.java │ │ │ ├── security │ │ │ └── SecurityConfig.java │ │ │ ├── service │ │ │ ├── MovieEvent.java │ │ │ └── MovieService.java │ │ │ └── testdata │ │ │ └── MoveTestData.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveBackendApplicationTests.java ├── reactive-client │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── ReactiveClientApplication.java │ │ │ │ ├── config │ │ │ │ ├── ClientRouterFunctionConfig.java │ │ │ │ ├── ReactiveBackendConfig.java │ │ │ │ └── ReactiveBackendWebClientConfig.java │ │ │ │ ├── dto │ │ │ │ ├── Movie.java │ │ │ │ └── MovieEvent.java │ │ │ │ └── rest │ │ │ │ ├── ClientResource.java │ │ │ │ └── EventHandler.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveClientApplicationTests.java └── settings.gradle ├── reactive-security-client-redis ├── README.adoc ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ └── docker-compose.yml ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── reactive-backend │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ ├── ReactiveBackendApplication.java │ │ │ ├── data │ │ │ ├── Movie.java │ │ │ ├── MovieReactiveRepository.java │ │ │ ├── RedisConfig.java │ │ │ ├── User.java │ │ │ └── UserReactiveRepository.java │ │ │ ├── rest │ │ │ ├── MovieFunctionalRoute.java │ │ │ └── MovieHandler.java │ │ │ ├── security │ │ │ └── SecurityConfig.java │ │ │ ├── service │ │ │ ├── MovieEvent.java │ │ │ └── MovieService.java │ │ │ └── testdata │ │ │ └── MoveTestData.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveBackendApplicationTests.java ├── reactive-client │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── ReactiveClientApplication.java │ │ │ │ ├── config │ │ │ │ ├── ClientRouterFunctionConfig.java │ │ │ │ ├── ReactiveBackendConfig.java │ │ │ │ └── ReactiveBackendWebClientConfig.java │ │ │ │ ├── dto │ │ │ │ ├── Movie.java │ │ │ │ └── MovieEvent.java │ │ │ │ └── rest │ │ │ │ ├── ClientResource.java │ │ │ │ └── EventHandler.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveClientApplicationTests.java └── settings.gradle ├── reactive-security-client ├── README.adoc ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ └── docker-compose.yml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── reactive-backend │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ ├── ReactiveBackendApplication.java │ │ │ ├── data │ │ │ ├── Movie.java │ │ │ ├── MovieReactiveRepository.java │ │ │ ├── User.java │ │ │ └── UserReactiveRepository.java │ │ │ ├── rest │ │ │ ├── MovieFunctionalRoute.java │ │ │ └── MovieHandler.java │ │ │ ├── security │ │ │ └── SecurityConfig.java │ │ │ ├── service │ │ │ ├── MovieEvent.java │ │ │ └── MovieService.java │ │ │ └── testdata │ │ │ └── MoveTestData.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveBackendApplicationTests.java ├── reactive-client │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── ReactiveClientApplication.java │ │ │ │ ├── config │ │ │ │ ├── ClientRouterFunctionConfig.java │ │ │ │ ├── ReactiveBackendConfig.java │ │ │ │ └── ReactiveBackendWebClientConfig.java │ │ │ │ ├── dto │ │ │ │ ├── Movie.java │ │ │ │ └── MovieEvent.java │ │ │ │ └── rest │ │ │ │ ├── ClientResource.java │ │ │ │ └── EventHandler.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ReactiveClientApplicationTests.java └── settings.gradle ├── reactive-spring-webflux-and-web-client ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── build.gradle.kts ├── buildSrc │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── Globals.kt ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── pom.xml ├── rest-api.http ├── settings.gradle.kts └── src │ ├── main │ ├── assembly │ │ └── sources.xml │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── daggerok │ │ │ └── App.java │ └── resources │ │ ├── application.yaml │ │ ├── logback-gradle.xml │ │ ├── logback-maven.xml │ │ └── logback.xml │ └── test │ ├── java │ └── com │ │ └── github │ │ └── daggerok │ │ ├── CollectWebTestClientTest.java │ │ ├── HeyWebTestClientTest.java │ │ ├── HoyWebTestClientTest.java │ │ ├── WebClientIntegrationAppTest.java │ │ └── WebTestClientAppTest.java │ └── resources │ └── junit-platform.properties ├── reactive-webflux-spring-data-redis ├── .gitignore ├── README.adoc ├── build.gradle ├── docker │ ├── README.adoc │ ├── build.gradle │ └── docker-compose.yml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ ├── main │ └── java │ │ └── daggerok │ │ ├── ReactiveWebfluxSpringDataRedisApplication.java │ │ ├── data │ │ ├── Activity.java │ │ ├── ActivityRepository.java │ │ ├── Task.java │ │ ├── TaskRepository.java │ │ └── config │ │ │ └── RedisConfig.java │ │ └── rest │ │ └── RoutesConfig.java │ └── test │ └── java │ └── daggerok │ └── ReactiveWebfluxSpringDataRedisApplicationTests.java ├── reactive-websocket-api-1 ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew └── gradlew.bat ├── reactive-websocket-api-2 ├── .gitignore ├── README.asciidoc ├── back │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── src │ │ ├── main │ │ ├── kotlin │ │ │ └── daggerok │ │ │ │ └── BackendApplication.kt │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── kotlin │ │ └── daggerok │ │ └── BackendApplicationTests.kt ├── build.gradle ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── ui │ ├── .angular-cli.json │ ├── .editorconfig │ ├── README.md │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── package.json │ ├── settings.gradle │ ├── src │ ├── app │ │ ├── app.component.css │ │ ├── app.component.html │ │ ├── app.component.ts │ │ └── app.module.ts │ ├── assets │ │ └── .gitkeep │ ├── environments │ │ ├── environment.cloud.ts │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── UiApplication.java │ │ └── resources │ │ │ └── application.yml │ ├── polyfills.ts │ ├── styles.css │ ├── tsconfig.app.json │ └── typings.d.ts │ ├── tsconfig.json │ └── tslint.json ├── reactive-websocket-sse ├── .gitignore ├── README.asciidoc ├── back │ ├── build.gradle │ ├── settings.gradle │ └── src │ │ ├── main │ │ ├── kotlin │ │ │ └── daggerok │ │ │ │ └── BackendApplication.kt │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── kotlin │ │ └── daggerok │ │ └── BackendApplicationTests.kt ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── ui │ ├── .angular-cli.json │ ├── .editorconfig │ ├── README.md │ ├── build.gradle │ ├── package.json │ ├── settings.gradle │ ├── src │ ├── app │ │ ├── app.component.css │ │ ├── app.component.html │ │ ├── app.component.ts │ │ └── app.module.ts │ ├── assets │ │ └── .gitkeep │ ├── environments │ │ ├── environment.cloud.ts │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── UiApplication.java │ │ └── resources │ │ │ └── application.yml │ ├── polyfills.ts │ ├── styles.css │ ├── tsconfig.app.json │ └── typings.d.ts │ ├── tsconfig.json │ └── tslint.json ├── reactor-processors ├── .gitignore ├── .hgignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── build.gradle ├── flux-sink │ ├── .mvn │ │ └── Dockerfile │ ├── build.gradle │ ├── docker-compose-gradle.yaml │ ├── docker-compose-maven.yaml │ ├── gradle │ │ └── Dockerfile │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── FluxSinkApplication.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── FluxSinkApplicationTests.java ├── gradle │ ├── Dockerfile │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml └── settings.gradle ├── rmi ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.adoc ├── build.gradle ├── docker-compose.yaml ├── gradle │ ├── Dockerfile │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle ├── spring-rmi-api │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── daggerok │ │ ├── Main.java │ │ └── api │ │ ├── RemoteUserService.java │ │ ├── User.java │ │ └── UserService.java ├── spring-rmi-client │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── Dockerfile │ ├── build.gradle │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── daggerok │ │ │ └── RemoteClientSpringApplication.java │ │ └── resources │ │ └── application.properties └── spring-rmi-service │ ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── Dockerfile │ ├── build.gradle │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── daggerok │ │ └── RemoteServiceSpringApplication.java │ └── resources │ └── application.properties ├── servlet-and-jsp-registration ├── .gitignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle.properties ├── gradle │ ├── Dockerfile │ ├── clean.gradle │ ├── docker-compose.gradle │ ├── docs.gradle │ ├── findbugs.gradle │ ├── ide.gradle │ ├── jacoco.gradle │ ├── java.gradle │ ├── jgiven.gradle │ ├── junit.gradle │ ├── kotlin.gradle │ ├── main.gradle │ ├── repositories-config.gradle │ ├── repositories.gradle │ ├── spring-boot.gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── daggerok │ │ │ ├── App-just-registering-JSPs-only.kt │ │ │ ├── App-just-registering-servlets-only.kt │ │ │ ├── App-registration-servlets-and-JSPs.kt │ │ │ └── App.kt │ ├── resources │ │ ├── application-JSPs.yaml │ │ ├── application-servlets.yaml │ │ └── application.yaml │ └── webapp │ │ └── WEB-INF │ │ └── jsp │ │ └── index.jsp │ └── test │ ├── java │ └── daggerok │ │ ├── AppJUnit4Test.java │ │ ├── AppJUnit5Test.java │ │ └── extensions │ │ └── CaptureSystemOutput.java │ └── kotlin │ └── daggerok │ ├── AppTests.kt │ ├── junit4 │ └── AppTests.kt │ └── junit5 │ └── AppTests.kt ├── some-spring-boot-2-frontend ├── .gitignore ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ └── main │ ├── java │ └── daggerok │ │ └── FrontendApplication.java │ ├── js │ ├── LICENSE │ ├── README.adoc │ ├── app │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.js │ │ └── style.scss │ └── package.json │ └── resources │ └── application.properties ├── spring-boot-under-the-hood ├── README.adoc ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── power-of-conditions │ └── src │ │ ├── main │ │ └── java │ │ │ └── daggerok │ │ │ └── PowerOfConditionsApplication.java │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── PowerOfConditionsApplicationTests.java ├── settings.gradle ├── spring-boot-custom-json-starter-test │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── SpringBootCustomJsonStarterTestApplication.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── SpringBootCustomJsonStarterTestApplicationTests.java ├── spring-boot-custom-json-starter │ ├── build.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ ├── SpringBootCustomJsonStarterApplication.java │ │ │ │ ├── config │ │ │ │ └── CustomJsonAutoConfiguration.java │ │ │ │ └── json │ │ │ │ └── Json.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring.factories │ │ │ └── application.properties.default │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── SpringBootCustomJsonStarterApplicationTests.java └── src │ ├── main │ └── java │ │ └── daggerok │ │ └── SpringBootUnderTheHoodApplication.java │ └── test │ └── java │ └── daggerok │ └── SpringBootUnderTheHoodApplicationTests.java ├── spring-data-jpa-count-query-fix ├── .gitignore ├── .mvn │ ├── Dockerfile │ ├── redeploy.sh │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── docs │ ├── docinfo-footer.html │ ├── docinfo.html │ ├── favicon.ico │ └── index.adoc ├── gradle.properties ├── gradle │ ├── Dockerfile │ ├── clean.gradle │ ├── docker-compose.gradle │ ├── docs.gradle │ ├── findbugs.gradle │ ├── ide.gradle │ ├── jacoco.gradle │ ├── java.gradle │ ├── junit.gradle │ ├── redeploy.sh │ ├── repositories-config.gradle │ ├── repositories.gradle │ ├── spring-boot.gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ ├── daggerok │ │ │ ├── App.java │ │ │ └── data │ │ │ │ ├── Order.java │ │ │ │ ├── OrderNumber.java │ │ │ │ ├── OrderRepository.java │ │ │ │ └── Price.java │ │ └── lombok.config │ └── resources │ │ ├── application-spring-boot.yaml │ │ ├── application-spring-data.yaml │ │ └── application.yaml │ └── test │ └── java │ └── daggerok │ ├── extensions │ └── CaptureSystemOutput.java │ ├── junit4 │ ├── AppJUnit4Tests.java │ └── JUnit4Test.java │ └── junit5 │ ├── AppJUnit5Tests.java │ └── JUnit5Test.java ├── spring-ee ├── .gitignore ├── .gitlab-ci.yml ├── .hgignore ├── .mvn │ ├── Dockerfile │ ├── redeploy.sh │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.adoc ├── bitbucket-pipelines.yml ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── docs │ ├── docinfo-footer.html │ ├── docinfo.html │ ├── favicon.ico │ └── index.adoc ├── gradle.properties ├── gradle │ ├── Dockerfile │ ├── clean.gradle │ ├── docker-compose.gradle │ ├── docs.gradle │ ├── findbugs.gradle │ ├── ide.gradle │ ├── jacoco.gradle │ ├── java.gradle │ ├── jgiven.gradle │ ├── junit.gradle │ ├── kotlin.gradle │ ├── main.gradle │ ├── publish.gradle │ ├── redeploy.sh │ ├── repositories-config.gradle │ ├── repositories.gradle │ ├── selenide.gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── idea.xml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ ├── daggerok │ │ │ ├── App.java │ │ │ ├── config │ │ │ │ └── HttpMessageConvertersConfig.java │ │ │ └── web │ │ │ │ └── SpringPage.java │ │ └── lombok.config │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ └── webapp │ │ └── WEB-INF │ │ ├── beans.xml │ │ ├── jsp │ │ ├── index.jsp │ │ └── welcome.jsp │ │ ├── spring-ee-servlet.xml │ │ └── web.xml │ └── test │ └── java │ └── daggerok │ ├── AppJUnit4Test.java │ ├── AppJUnit5Test.java │ └── extensions │ └── CaptureSystemOutput.java ├── spring-integration-5-example ├── README.adoc ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ ├── main │ └── java │ │ └── daggerok │ │ ├── SpringIntegration5ExampleApplication.java │ │ └── config │ │ └── ServerSideEventsConfig.java │ └── test │ └── java │ └── daggerok │ └── SpringIntegration5ExampleApplicationTests.java ├── spring-integration-5-examples └── README.adoc ├── spring-shell ├── .gitignore ├── README.adoc ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ └── main │ ├── kotlin │ └── daggerok │ │ └── ShellApplication.kt │ └── resources │ └── application.properties ├── springdoc-openapi-webflux ├── .java-version ├── README.md ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── optionalmvcpathvariable │ │ │ │ ├── OptionalMvcPathVariableApplication.java │ │ │ │ ├── nullable │ │ │ │ ├── NonNullableController.java │ │ │ │ └── NullableController.java │ │ │ │ └── optional │ │ │ │ └── OptionalController.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── templates │ │ │ ├── non-nullable.html │ │ │ ├── nullable.html │ │ │ └── optional.html │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── optionalmvcpathvariable │ │ └── OptionalMvcPathVariableApplicationTests.java └── test.http ├── springdoc-openapi ├── .java-version ├── README.md ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── optionalmvcpathvariable │ │ │ │ ├── OptionalMvcPathVariableApplication.java │ │ │ │ ├── nullable │ │ │ │ ├── NonNullableController.java │ │ │ │ └── NullableController.java │ │ │ │ └── optional │ │ │ │ └── OptionalController.java │ │ └── resources │ │ │ ├── application.properties │ │ │ └── templates │ │ │ ├── non-nullable.html │ │ │ ├── nullable.html │ │ │ └── optional.html │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── optionalmvcpathvariable │ │ └── OptionalMvcPathVariableApplicationTests.java └── test.http ├── thymeleaf-webflux ├── .gitignore ├── .hgignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle │ ├── Dockerfile │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── reactive-thymeleaf │ ├── .mvn │ │ └── Dockerfile │ ├── build.gradle │ ├── gradle │ │ └── Dockerfile │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── daggerok │ │ │ │ └── ThymeleafApplication.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── messages.properties │ │ │ ├── static │ │ │ └── favicon.ico │ │ │ └── templates │ │ │ └── index.html │ │ └── test │ │ └── java │ │ └── daggerok │ │ └── ThymeleafApplicationTests.java └── settings.gradle ├── voting-app ├── .gitignore ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── docker │ └── Dockerfile.rabbitmq ├── docs │ ├── docinfo-footer.html │ ├── docinfo.html │ ├── favicon.ico │ └── index.adoc ├── gradle.properties ├── gradle │ ├── Dockerfile │ ├── artifactory-shadow.gradle │ ├── base.gradle │ ├── build-scan.gradle │ ├── clean.gradle │ ├── docker-compose.gradle │ ├── docs.gradle │ ├── findbugs.gradle │ ├── ide.gradle │ ├── jacoco.gradle │ ├── java.gradle │ ├── jgiven.gradle │ ├── junit.gradle │ ├── kotlin.gradle │ ├── publish.gradle │ ├── repositories-config.gradle │ ├── repositories.gradle │ ├── selenide.gradle │ ├── spring-boot.gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── idea.xml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle ├── streaming-service │ ├── build.gradle │ ├── gradle │ │ ├── clean.gradle │ │ ├── findbugs.gradle │ │ ├── ide.gradle │ │ ├── jacoco.gradle │ │ ├── java.gradle │ │ ├── jgiven.gradle │ │ ├── junit.gradle │ │ ├── kotlin.gradle │ │ ├── repositories-config.gradle │ │ ├── repositories.gradle │ │ ├── selenide.gradle │ │ └── spring-boot.gradle │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ ├── daggerok │ │ │ │ └── App.kt │ │ │ └── lombok.config │ │ └── resources │ │ │ ├── application-spring-boot.yaml │ │ │ ├── application.yaml │ │ │ └── public │ │ │ └── favicon.ico │ │ └── test │ │ ├── java │ │ └── daggerok │ │ │ ├── AppJUnit4Test.java │ │ │ ├── AppJUnit5Test.java │ │ │ └── extensions │ │ │ └── CaptureSystemOutput.java │ │ └── kotlin │ │ ├── AppTests.kt │ │ └── daggerok │ │ ├── junit4 │ │ └── AppTests.kt │ │ └── junit5 │ │ └── AppTests.kt └── voting-service │ ├── build.gradle │ ├── gradle │ ├── clean.gradle │ ├── findbugs.gradle │ ├── ide.gradle │ ├── jacoco.gradle │ ├── java.gradle │ ├── jgiven.gradle │ ├── junit.gradle │ ├── kotlin.gradle │ ├── repositories-config.gradle │ ├── repositories.gradle │ ├── selenide.gradle │ └── spring-boot.gradle │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ ├── daggerok │ │ │ └── App.kt │ │ └── lombok.config │ └── resources │ │ ├── application-spring-boot.yaml │ │ ├── application.yaml │ │ └── public │ │ └── favicon.ico │ └── test │ ├── java │ └── daggerok │ │ ├── AppJUnit4Test.java │ │ ├── AppJUnit5Test.java │ │ └── extensions │ │ └── CaptureSystemOutput.java │ └── kotlin │ ├── AppTests.kt │ └── daggerok │ ├── junit4 │ └── AppTests.kt │ └── junit5 │ └── AppTests.kt ├── webflux-static-content └── README.adoc └── xml-wtf ├── .gitignore ├── .hgignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .travis.yml ├── README.adoc ├── build.gradle ├── docker-compose-gradle.yaml ├── docker-compose-maven.yaml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── kotlin-xml ├── .mvn │ ├── Dockerfile │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── build.gradle ├── gradle │ ├── Dockerfile │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── kotlin │ │ └── daggerok │ │ │ └── KotlinXmlApplication.kt │ └── resources │ │ ├── application.properties │ │ └── heal-yeah.xml │ └── test │ └── kotlin │ └── daggerok │ └── KotlinXmlApplicationTests.kt ├── mvnw ├── mvnw.cmd ├── pom.xml └── settings.gradle /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /awesome-kotlin/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | .sts4-cache 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | /nbproject/private/ 21 | /build/ 22 | /nbbuild/ 23 | /dist/ 24 | /nbdist/ 25 | /.nb-gradle/ -------------------------------------------------------------------------------- /awesome-kotlin/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/awesome-kotlin/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /awesome-kotlin/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip -------------------------------------------------------------------------------- /awesome-kotlin/README.md: -------------------------------------------------------------------------------- 1 | # awesome kotlin with spring-boot 2 | 3 | [YouTube: Spring, the Kotlin and Functional Way](https://www.youtube.com/watch?v=MUGS0i-JXZU) 4 | -------------------------------------------------------------------------------- /awesome-kotlin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | spring.mongodb.embedded.storage.database-dir=./target/db 3 | -------------------------------------------------------------------------------- /awesome-kotlin/src/main/resources/static/hello.txt: -------------------------------------------------------------------------------- 1 | hi 2 | -------------------------------------------------------------------------------- /awesome-kotlin/src/main/resources/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Lolabola 6 | 7 | 8 |

[[${prefix}]] Hej! Hola! Превед! [[${suffix}]]

9 | 10 | 11 | -------------------------------------------------------------------------------- /awesome-kotlin/src/test/kotlin/com/github/daggerok/AwesomeKotlinApplicationTests.kt: -------------------------------------------------------------------------------- 1 | package com.github.daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest 10 | class AwesomeKotlinApplicationTests { 11 | @Test fun contextLoads() { } 12 | } 13 | -------------------------------------------------------------------------------- /axon-lock/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /axon-lock/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /axon-lock/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/axon-lock/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /axon-lock/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /axon-lock/.npmignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /axon-lock/README.adoc: -------------------------------------------------------------------------------- 1 | = axon-lock 2 | 3 | . Reactive sprin Webflux + Axon Framework App 4 | . Maven / Gradle Kotlin configuration 5 | 6 | .build 7 | ---- 8 | ./mvnw clean package com.dkanejs.maven.plugins:docker-compose-maven-plugin:1.0.1:up 9 | ./mvnw com.dkanejs.maven.plugins:docker-compose-maven-plugin:1.0.1:down 10 | 11 | ./gradlew clean build composeUp 12 | ./gradlew composeDown 13 | ---- 14 | -------------------------------------------------------------------------------- /axon-lock/axon-app/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /build/ 3 | !gradle/wrapper/gradle-wrapper.jar 4 | 5 | ### STS ### 6 | .apt_generated 7 | .classpath 8 | .factorypath 9 | .project 10 | .settings 11 | .springBeans 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | nbproject/private/ 21 | build/ 22 | nbbuild/ 23 | dist/ 24 | nbdist/ 25 | .nb-gradle/ -------------------------------------------------------------------------------- /axon-lock/axon-app/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/axon-lock/axon-app/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /axon-lock/axon-app/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /axon-lock/axon-app/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/axon-lock/axon-app/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /axon-lock/axon-app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jul 28 13:37:07 BST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.2-bin.zip 7 | -------------------------------------------------------------------------------- /axon-lock/axon-app/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /axon-lock/axon-app/src/test/java/daggerok/AxonApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | public class AxonApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /axon-lock/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/axon-lock/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /axon-lock/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /axon-lock/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'axon-lock' 3 | include 'axon-app' 4 | -------------------------------------------------------------------------------- /axon-vote/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle/ 2 | target/ 3 | build/ 4 | out/ 5 | 6 | ### STS ### 7 | .apt_generated 8 | .classpath 9 | .factorypath 10 | .project 11 | .settings 12 | .springBeans 13 | 14 | ### IntelliJ IDEA ### 15 | .idea 16 | *.iws 17 | *.iml 18 | *.ipr 19 | *.log* 20 | 21 | ### NetBeans ### 22 | nbproject/private/ 23 | nbbuild/ 24 | dist/ 25 | nbdist/ 26 | .nb-gradle/ 27 | -------------------------------------------------------------------------------- /axon-vote/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/axon-vote/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /axon-vote/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /axon-vote/src/main/kotlin/daggerok/RestHelper.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.springframework.web.util.UriComponentsBuilder 4 | import javax.servlet.http.HttpServletRequest 5 | 6 | object RestHelper { 7 | 8 | fun builder(request: HttpServletRequest): UriComponentsBuilder { 9 | val uri = UriComponentsBuilder.fromHttpUrl(request.requestURL.toString()).build() 10 | return UriComponentsBuilder.fromHttpUrl(java.lang.String.format("%s://%s:%d", uri.scheme, uri.host, uri.port)) 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /boot-jsp/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | build 4 | target 5 | out 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log* 11 | .DS_Store 12 | Thumbs.db 13 | /public/ 14 | ./leveldb-* 15 | -------------------------------------------------------------------------------- /boot-jsp/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/boot-jsp/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /boot-jsp/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip -------------------------------------------------------------------------------- /boot-jsp/docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/boot-jsp/docs/favicon.ico -------------------------------------------------------------------------------- /boot-jsp/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | #org.gradle.console=rich 3 | org.gradle.console=plain 4 | #org.gradle.console=verbose 5 | 6 | ## artifactory 7 | artifactory_user=admin 8 | #artifactory_password=password 9 | artifactory_password=AP2bD5A6qnanPtXbRqeDAitPeAh 10 | artifactory_contextUrl=http://127.0.0.1/artifactory 11 | -------------------------------------------------------------------------------- /boot-jsp/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() 3 | mavenCentral() 4 | jcenter() 5 | maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /boot-jsp/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /boot-jsp/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/boot-jsp/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /boot-jsp/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /boot-jsp/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'boot-jsp' 3 | include 'docs' 4 | -------------------------------------------------------------------------------- /boot-jsp/src/main/java/daggerok/App.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.springframework.boot.autoconfigure.SpringBootApplication 4 | import org.springframework.boot.runApplication 5 | import org.springframework.stereotype.Controller 6 | import org.springframework.web.bind.annotation.GetMapping 7 | 8 | @Controller 9 | @SpringBootApplication 10 | class App { 11 | @GetMapping("/") fun index() = "index" 12 | } 13 | 14 | fun main(args: Array) { 15 | runApplication(*args) 16 | } 17 | -------------------------------------------------------------------------------- /boot-jsp/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /boot-jsp/src/main/resources/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | mvc: 6 | favicon: 7 | enabled: false 8 | view: 9 | prefix: /WEB-INF/views/ 10 | suffix: .jsp 11 | -------------------------------------------------------------------------------- /boot-jsp/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /boot-jsp/src/main/resources/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/boot-jsp/src/main/resources/public/favicon.ico -------------------------------------------------------------------------------- /boot-jsp/src/test/java/daggerok/AppJUnit4Test.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.hamcrest.MatcherAssert.assertThat; 6 | import static org.hamcrest.core.Is.is; 7 | 8 | public class AppJUnit4Test { 9 | 10 | @Test 11 | public void testPositive() { 12 | assertThat(true, is(true)); 13 | } 14 | 15 | @Test(expected = AssertionError.class) 16 | public void testNegative() { 17 | assertThat(false, is(true)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /boot-jsp/src/test/kotlin/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | class AppTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'idea' 3 | id 'base' 4 | id 'eclipse' 5 | } 6 | 7 | idea { 8 | module { 9 | downloadSources = true 10 | } 11 | } 12 | 13 | eclipse { 14 | classpath { 15 | downloadSources = true 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /fn/README.md: -------------------------------------------------------------------------------- 1 | 2 | ```bash 3 | ./mvnw -f fn/pom.xml >/dev/null 4 | java -jar fn/target/*.jar 5 | http :8080/person id=1 name=ololo 6 | http :8080/person name=trololo 7 | http :8080/person/1 8 | http :8080/person/ 9 | ``` 10 | -------------------------------------------------------------------------------- /fn/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | spring.main.lazy-initialization=true 3 | -------------------------------------------------------------------------------- /functional-spring/README.asciidoc: -------------------------------------------------------------------------------- 1 | = functional-spring image:https://travis-ci.org/daggerok/functional-spring.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/reactive-spring"] 2 | 3 | this repository contains a very simple spring webflux examples 4 | 5 | [source,bash] 6 | ---- 7 | gradle bootRun-service 8 | gradle bootRun-other-service 9 | gradle bootRun-client 10 | ---- 11 | 12 | read more 13 | 14 | * https://github.com/spring-projects/spring-retry[spring-retry] 15 | -------------------------------------------------------------------------------- /functional-spring/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/functional-spring/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /functional-spring/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /functional-spring/reactive-client/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/functional-spring/reactive-client/settings.gradle -------------------------------------------------------------------------------- /functional-spring/reactive-client/src/main/java/daggerok/ReactiveClientApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ReactiveClientApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ReactiveClientApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /functional-spring/reactive-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: > 4 | rest-api-config 5 | -------------------------------------------------------------------------------- /functional-spring/reactive-client/src/main/resources/config/application-rest-api-config.yml: -------------------------------------------------------------------------------- 1 | reactive-server: 2 | protocol: http 3 | host: localhost 4 | port: 3000 5 | -------------------------------------------------------------------------------- /functional-spring/reactive-old-service/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/functional-spring/reactive-old-service/settings.gradle -------------------------------------------------------------------------------- /functional-spring/reactive-service/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/functional-spring/reactive-service/settings.gradle -------------------------------------------------------------------------------- /functional-spring/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'functional-spring' 3 | includeBuild 'reactive-old-service' 4 | includeBuild 'reactive-service' 5 | includeBuild 'reactive-client' 6 | -------------------------------------------------------------------------------- /github-api-v3-gateway/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | *.log 13 | **/config/application-github.properties 14 | -------------------------------------------------------------------------------- /github-api-v3-gateway/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | */config/application-github.properties 14 | -------------------------------------------------------------------------------- /github-api-v3-gateway/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/github-api-v3-gateway/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /github-api-v3-gateway/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /github-api-v3-gateway/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/github-api-v3-gateway/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /github-api-v3-gateway/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /github-api-v3-gateway/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'github-api-v3-gateway' 2 | enableFeaturePreview 'STABLE_PUBLISHING' 3 | include 'webflux-gateway' 4 | -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /build/ 3 | !gradle/wrapper/gradle-wrapper.jar 4 | 5 | ### STS ### 6 | .apt_generated 7 | .classpath 8 | .factorypath 9 | .project 10 | .settings 11 | .springBeans 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | nbproject/private/ 21 | build/ 22 | nbbuild/ 23 | dist/ 24 | nbdist/ 25 | .nb-gradle/ -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/github-api-v3-gateway/webflux-gateway/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/github-api-v3-gateway/webflux-gateway/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Feb 06 12:27:20 CET 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 7 | -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | ##spring.profiles.include=spring-boot,github 2 | #spring.profiles.include[0]=spring-boot 3 | #spring.profiles.include[1]=github 4 | spring.profiles.include=\ 5 | spring-boot,\ 6 | github 7 | -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/src/main/resources/config/application-github-default.properties: -------------------------------------------------------------------------------- 1 | # 1. rename this file: config/github-default.properties -> config/github.properties 2 | # 2. add your github token in format: github.token=username:password 3 | spring.profiles.active=github 4 | github.baseUrl=https://api.github.com 5 | github.token=githubUsername:githubPassword 6 | -------------------------------------------------------------------------------- /github-api-v3-gateway/webflux-gateway/src/main/resources/config/application-spring-boot.properties: -------------------------------------------------------------------------------- 1 | spring.profiles.active=spring-boot 2 | spring.application.name=webflux-gateway 3 | spring.output.ansi.enabled=always 4 | # more actuator endpoints 5 | management.endpoints.web.expose=* 6 | # more health info 7 | #management.endpoint.health.show-details=true 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /hotel/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /hotel/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /hotel/4del/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | 12 | ### IntelliJ IDEA ### 13 | .idea 14 | *.iws 15 | *.iml 16 | *.ipr 17 | 18 | ### NetBeans ### 19 | nbproject/private/ 20 | build/ 21 | nbbuild/ 22 | dist/ 23 | nbdist/ 24 | .nb-gradle/ -------------------------------------------------------------------------------- /hotel/4del/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/4del/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /hotel/4del/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /hotel/4del/src/main/java/daggerok/WebappApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class WebappApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(WebappApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /hotel/4del/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/4del/src/main/resources/application.properties -------------------------------------------------------------------------------- /hotel/4del/src/test/java/daggerok/WebappApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class WebappApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /hotel/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | webapp: 6 | build: ./webapp 7 | volumes: ["webapp-data:/home"] 8 | ports: ["8080:8080"] 9 | networks: [backing-services] 10 | restart: unless-stopped 11 | mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024) 12 | 13 | volumes: 14 | webapp-data: {} 15 | 16 | networks: 17 | backing-services: 18 | driver: bridge 19 | -------------------------------------------------------------------------------- /hotel/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /hotel/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /hotel/reservations/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | 12 | ### IntelliJ IDEA ### 13 | .idea 14 | *.iws 15 | *.iml 16 | *.ipr 17 | 18 | ### NetBeans ### 19 | nbproject/private/ 20 | build/ 21 | nbbuild/ 22 | dist/ 23 | nbdist/ 24 | .nb-gradle/ -------------------------------------------------------------------------------- /hotel/reservations/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/reservations/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /hotel/reservations/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /hotel/reservations/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/reservations/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /hotel/reservations/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /hotel/reservations/src/main/java/daggerok/reservations/ReservationRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.reservations; 2 | 3 | import org.springframework.data.mongodb.repository.ReactiveMongoRepository; 4 | import org.springframework.data.mongodb.repository.Tailable; 5 | import reactor.core.publisher.Flux; 6 | 7 | public interface ReservationRepository extends ReactiveMongoRepository { 8 | 9 | @Tailable 10 | Flux findWithTailableCursorBy(); 11 | } 12 | -------------------------------------------------------------------------------- /hotel/reservations/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | data: 6 | mongodb: 7 | database: reservations 8 | host: ${SPRING_DATA_MONGODB_HOST:127.0.0.1} 9 | server: 10 | port: 8081 11 | -------------------------------------------------------------------------------- /hotel/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | include 'reservations' 3 | include 'webapp' 4 | -------------------------------------------------------------------------------- /hotel/webapp/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /build/ 3 | !gradle/wrapper/gradle-wrapper.jar 4 | 5 | ### STS ### 6 | .apt_generated 7 | .classpath 8 | .factorypath 9 | .project 10 | .settings 11 | .springBeans 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | nbproject/private/ 21 | build/ 22 | nbbuild/ 23 | dist/ 24 | nbdist/ 25 | .nb-gradle/ -------------------------------------------------------------------------------- /hotel/webapp/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/webapp/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /hotel/webapp/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /hotel/webapp/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/hotel/webapp/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /hotel/webapp/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /hotel/webapp/src/main/java/daggerok/WebappApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class WebappApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(WebappApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /hotel/webapp/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | management: 6 | endpoint: 7 | health: 8 | enabled: true 9 | server: 10 | port: 8080 11 | -------------------------------------------------------------------------------- /hotel/webapp/src/main/resources/templates/index.mustache: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mustache 6 | 7 | 8 |

Hola, {{name}}!

9 | 10 | 11 | -------------------------------------------------------------------------------- /hotel/webapp/src/test/java/daggerok/WebappApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | public class WebappApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/kotlin-beans-dsl/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /kotlin-beans-dsl/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | gradle-kotlin-beans-dsl-app: 6 | build: 7 | context: ./kotlin-config-dsl 8 | dockerfile: ./gradle/Dockerfile 9 | volumes: ["gradle-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | 12 | volumes: 13 | gradle-app-data: {} 14 | 15 | networks: 16 | backing-services: 17 | driver: bridge 18 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | maven-kotlin-beans-dsl-app: 6 | build: 7 | context: ./kotlin-config-dsl 8 | dockerfile: ./.mvn/Dockerfile 9 | volumes: ["maven-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | 12 | volumes: 13 | maven-app-data: {} 14 | 15 | networks: 16 | backing-services: 17 | driver: bridge 18 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/kotlin-beans-dsl/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /kotlin-beans-dsl/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/kotlin-config-dsl/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/kotlin-beans-dsl/kotlin-config-dsl/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /kotlin-beans-dsl/kotlin-config-dsl/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/kotlin-config-dsl/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/kotlin-beans-dsl/kotlin-config-dsl/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /kotlin-beans-dsl/kotlin-config-dsl/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/kotlin-config-dsl/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/kotlin-config-dsl/src/test/kotlin/daggerok/KotlinConfigDslApplicationTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest(classes = arrayOf(KotlinConfigDslApplication::class)) 10 | class KotlinConfigDslApplicationTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /kotlin-beans-dsl/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'kotlin-beans-dsl' 3 | include 'kotlin-config-dsl' 4 | -------------------------------------------------------------------------------- /listener-of-listener/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /listener-of-listener/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /listener-of-listener/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/listener-of-listener/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /listener-of-listener/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /listener-of-listener/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | gradle-listener-of-listener-app: 6 | build: 7 | context: ./kotlin-listeners 8 | dockerfile: ./gradle/Dockerfile 9 | volumes: ["gradle-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | restart: unless-stopped 13 | 14 | volumes: 15 | gradle-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /listener-of-listener/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | maven-listener-of-listener-app: 6 | build: 7 | context: ./kotlin-listeners 8 | dockerfile: ./.mvn/Dockerfile 9 | volumes: ["maven-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | restart: unless-stopped 13 | 14 | volumes: 15 | maven-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /listener-of-listener/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/listener-of-listener/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /listener-of-listener/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /listener-of-listener/kotlin-listeners/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /build/ 3 | !gradle/wrapper/gradle-wrapper.jar 4 | 5 | ### STS ### 6 | .apt_generated 7 | .classpath 8 | .factorypath 9 | .project 10 | .settings 11 | .springBeans 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | nbproject/private/ 21 | build/ 22 | nbbuild/ 23 | dist/ 24 | nbdist/ 25 | .nb-gradle/ -------------------------------------------------------------------------------- /listener-of-listener/kotlin-listeners/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/listener-of-listener/kotlin-listeners/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /listener-of-listener/kotlin-listeners/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /listener-of-listener/kotlin-listeners/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/listener-of-listener/kotlin-listeners/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /listener-of-listener/kotlin-listeners/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jul 28 13:37:07 BST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.2-bin.zip 7 | -------------------------------------------------------------------------------- /listener-of-listener/kotlin-listeners/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /listener-of-listener/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'listener-of-listener' 2 | enableFeaturePreview 'STABLE_PUBLISHING' 3 | include ':kotlin-listeners' 4 | -------------------------------------------------------------------------------- /mailbox/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /mailbox/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /mailbox/4del/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | 12 | ### IntelliJ IDEA ### 13 | .idea 14 | *.iws 15 | *.iml 16 | *.ipr 17 | 18 | ### NetBeans ### 19 | nbproject/private/ 20 | build/ 21 | nbbuild/ 22 | dist/ 23 | nbdist/ 24 | .nb-gradle/ -------------------------------------------------------------------------------- /mailbox/4del/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/4del/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /mailbox/4del/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /mailbox/4del/src/main/java/daggerok/WebappApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class WebappApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(WebappApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /mailbox/4del/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/4del/src/main/resources/application.properties -------------------------------------------------------------------------------- /mailbox/4del/src/test/java/daggerok/WebappApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class WebappApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /mailbox/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | webapp: 6 | build: ./webapp 7 | volumes: ["webapp-data:/home"] 8 | ports: ["8080:8080"] 9 | networks: [backing-services] 10 | restart: unless-stopped 11 | mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024) 12 | 13 | volumes: 14 | webapp-data: {} 15 | 16 | networks: 17 | backing-services: 18 | driver: bridge 19 | -------------------------------------------------------------------------------- /mailbox/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /mailbox/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /mailbox/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'mailbox' 3 | include 'users-map' 4 | include 'users-mongo' 5 | include 'webapp' 6 | -------------------------------------------------------------------------------- /mailbox/users-map/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | 12 | ### IntelliJ IDEA ### 13 | .idea 14 | *.iws 15 | *.iml 16 | *.ipr 17 | 18 | ### NetBeans ### 19 | nbproject/private/ 20 | build/ 21 | nbbuild/ 22 | dist/ 23 | nbdist/ 24 | .nb-gradle/ -------------------------------------------------------------------------------- /mailbox/users-map/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/users-map/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /mailbox/users-map/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /mailbox/users-map/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/users-map/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /mailbox/users-map/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /mailbox/users-map/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | data: 6 | mongodb: 7 | database: reservations 8 | host: ${SPRING_DATA_MONGODB_HOST:127.0.0.1} 9 | server: 10 | port: 8081 11 | -------------------------------------------------------------------------------- /mailbox/users-map/src/test/java/daggerok/MapUsersApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | public class MapUsersApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /mailbox/users-mongo/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | 12 | ### IntelliJ IDEA ### 13 | .idea 14 | *.iws 15 | *.iml 16 | *.ipr 17 | 18 | ### NetBeans ### 19 | nbproject/private/ 20 | build/ 21 | nbbuild/ 22 | dist/ 23 | nbdist/ 24 | .nb-gradle/ -------------------------------------------------------------------------------- /mailbox/users-mongo/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/users-mongo/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /mailbox/users-mongo/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /mailbox/users-mongo/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/users-mongo/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /mailbox/users-mongo/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /mailbox/users-mongo/src/main/java/daggerok/users/UserRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.users; 2 | 3 | import org.springframework.data.mongodb.repository.ReactiveMongoRepository; 4 | 5 | public interface UserRepository extends ReactiveMongoRepository {} 6 | -------------------------------------------------------------------------------- /mailbox/users-mongo/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | data: 6 | mongodb: 7 | database: reservations 8 | host: ${SPRING_DATA_MONGODB_HOST:127.0.0.1} 9 | server: 10 | port: 8082 11 | -------------------------------------------------------------------------------- /mailbox/users-mongo/src/test/java/daggerok/MongoUsesApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | public class MongoUsesApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /mailbox/webapp/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /build/ 3 | !gradle/wrapper/gradle-wrapper.jar 4 | 5 | ### STS ### 6 | .apt_generated 7 | .classpath 8 | .factorypath 9 | .project 10 | .settings 11 | .springBeans 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | nbproject/private/ 21 | build/ 22 | nbbuild/ 23 | dist/ 24 | nbdist/ 25 | .nb-gradle/ -------------------------------------------------------------------------------- /mailbox/webapp/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/webapp/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /mailbox/webapp/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /mailbox/webapp/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/webapp/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /mailbox/webapp/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /mailbox/webapp/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | mvc: 6 | favicon: 7 | enabled: false 8 | mustache: 9 | expose-request-attributes: true 10 | expose-spring-macro-helpers: true 11 | management: 12 | endpoint: 13 | health: 14 | enabled: true 15 | server: 16 | port: 8080 17 | -------------------------------------------------------------------------------- /mailbox/webapp/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mailbox/webapp/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /mailbox/webapp/src/main/resources/templates/layout/end.mustache: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /mailbox/webapp/src/test/java/daggerok/WebappApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | public class WebappApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /makrdown-blog/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | build 4 | target 5 | out 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log* 11 | .DS_Store 12 | Thumbs.db 13 | /public/ 14 | ./leveldb-* 15 | -------------------------------------------------------------------------------- /makrdown-blog/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .gradle 4 | ^.git/* 5 | .git 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | Thumbs.db 10 | */out/* 11 | ^.idea/* 12 | .idea 13 | *.iml 14 | *.ipr 15 | *.iws 16 | *.log* 17 | leveldb-* 18 | -------------------------------------------------------------------------------- /makrdown-blog/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/makrdown-blog/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /makrdown-blog/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip 2 | -------------------------------------------------------------------------------- /makrdown-blog/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | #org.gradle.console=rich 3 | org.gradle.console=plain 4 | #org.gradle.console=verbose 5 | 6 | ## artifactory 7 | artifactory_user=admin 8 | #artifactory_password=password 9 | artifactory_password=AP2bD5A6qnanPtXbRqeDAitPeAh 10 | artifactory_contextUrl=http://127.0.0.1/artifactory 11 | -------------------------------------------------------------------------------- /makrdown-blog/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() 3 | mavenCentral() 4 | jcenter() 5 | maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /makrdown-blog/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /makrdown-blog/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/makrdown-blog/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /makrdown-blog/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /makrdown-blog/settings.gradle: -------------------------------------------------------------------------------- 1 | //enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'makrdown-blog' 3 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/java/daggerok/App.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import daggerok.app.jdbc.JdbcConfig 4 | import org.springframework.boot.autoconfigure.SpringBootApplication 5 | import org.springframework.boot.runApplication 6 | import org.springframework.context.annotation.Import 7 | 8 | @SpringBootApplication 9 | @Import(JdbcConfig::class) 10 | class App 11 | 12 | fun main(args: Array) { 13 | runApplication(*args) 14 | } 15 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/resources/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | mvc: 6 | favicon: 7 | enabled: false 8 | view: 9 | suffix: .mustache 10 | logging: 11 | level: 12 | org.springframework.data: INFO 13 | org.springframework.jdbc.core.JdbcTemplate: DEBUG 14 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/resources/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/makrdown-blog/src/main/resources/public/favicon.ico -------------------------------------------------------------------------------- /makrdown-blog/src/main/resources/templates/article.mustache: -------------------------------------------------------------------------------- 1 | {{> parts/header}} 2 | 3 | {{#article}} 4 |
5 |
6 |

{{articleTitle}}

7 | 8 |
9 |
{{{articleContent}}}
10 |
Updated at {{articleUpdatedAt}}
11 |
12 | {{/article}} 13 | 14 | {{> parts/footer}} 15 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/resources/templates/index.mustache: -------------------------------------------------------------------------------- 1 | {{> parts/header}} 2 | 3 | {{#articles}} 4 |
5 |
6 |

7 | {{articleTitle}} 8 |

9 |
By {{authorUsername}}
10 |
Created at {{articleCreatedAt}}
11 |
12 |
{{{articleHeadline}}}
13 |
14 | {{/articles}} 15 | 16 | {{> parts/footer}} 17 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/resources/templates/parts/footer.mustache: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /makrdown-blog/src/main/resources/templates/parts/header.mustache: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Blog 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /makrdown-blog/src/test/java/daggerok/AppJUnit4Test.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.hamcrest.MatcherAssert.assertThat; 6 | import static org.hamcrest.core.Is.is; 7 | 8 | public class AppJUnit4Test { 9 | 10 | @Test 11 | public void testPositive() { 12 | assertThat(true, is(true)); 13 | } 14 | 15 | @Test(expected = AssertionError.class) 16 | public void testNegative() { 17 | assertThat(false, is(true)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /makrdown-blog/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /mapdb/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | *.log 13 | -------------------------------------------------------------------------------- /mapdb/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /mapdb/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mapdb/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /mapdb/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /mapdb/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | gradle-mapdb-app: 6 | build: 7 | context: . 8 | dockerfile: gradle/Dockerfile 9 | volumes: ["gradle-mapdb-app-data:/home/app"] 10 | ports: ["8080:8080"] 11 | networks: [backing-services] 12 | mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024) 13 | 14 | volumes: 15 | gradle-mapdb-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /mapdb/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | maven-mapdb-app: 6 | build: 7 | context: . 8 | dockerfile: .mvn/Dockerfile 9 | volumes: ["maven-mapdb-app-data:/home/app"] 10 | ports: ["8080:8080"] 11 | networks: [backing-services] 12 | mem_limit: 786432000 # container limit: 700Mb (700 * 1024 * 1024) 13 | 14 | volumes: 15 | maven-mapdb-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /mapdb/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mapdb/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /mapdb/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /mapdb/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'mapdb' 3 | -------------------------------------------------------------------------------- /mapdb/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /mapdb/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /mapdb/src/main/resources/config/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | active: spring-boot 4 | output: 5 | ansi: 6 | enabled: always 7 | -------------------------------------------------------------------------------- /mapdb/src/test/java/daggerok/AppJUnit4Test.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.hamcrest.MatcherAssert.assertThat; 6 | import static org.hamcrest.core.Is.is; 7 | 8 | public class AppJUnit4Test { 9 | 10 | @Test 11 | public void testPositive() { 12 | assertThat(true, is(true)); 13 | } 14 | 15 | @Test(expected = AssertionError.class) 16 | public void testNegative() { 17 | assertThat(false, is(true)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /mapdb/src/test/kotlin/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Ignore 4 | import org.junit.Test 5 | import org.junit.runner.RunWith 6 | import org.springframework.boot.test.context.SpringBootTest 7 | import org.springframework.test.context.junit4.SpringRunner 8 | 9 | @RunWith(SpringRunner::class) 10 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 11 | class AppTests { 12 | 13 | @Test 14 | @Ignore 15 | fun contextLoads() { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/cqrs/event/Event.java: -------------------------------------------------------------------------------- 1 | package com.github.rickardoberg.cqrs.event; 2 | 3 | public class Event { 4 | } 5 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/cqrs/event/InteractionContextSink.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Neo Technology 3 | * All rights reserved 4 | */ 5 | package com.github.rickardoberg.cqrs.event; 6 | 7 | public interface InteractionContextSink { 8 | void apply(InteractionContext interactionContext); 9 | } 10 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/cqrs/event/InteractionSource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Neo Technology 3 | * All rights reserved 4 | */ 5 | package com.github.rickardoberg.cqrs.event; 6 | 7 | public interface InteractionSource { 8 | Interaction getInteraction(); 9 | } 10 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/cqrs/event/store/EventStore.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Neo Technology 3 | * All rights reserved 4 | */ 5 | package com.github.rickardoberg.cqrs.event.store; 6 | 7 | import com.github.rickardoberg.cqrs.event.InteractionContext; 8 | 9 | public interface EventStore { 10 | void add(InteractionContext interactionContext); 11 | } 12 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/stuff/event/ChangedDescriptionEvent.java: -------------------------------------------------------------------------------- 1 | package com.github.rickardoberg.stuff.event; 2 | 3 | import com.github.rickardoberg.cqrs.event.Event; 4 | 5 | public class ChangedDescriptionEvent 6 | extends Event { 7 | public String description; 8 | } 9 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/stuff/event/CreatedEvent.java: -------------------------------------------------------------------------------- 1 | package com.github.rickardoberg.stuff.event; 2 | 3 | import com.github.rickardoberg.cqrs.event.Event; 4 | 5 | public class CreatedEvent extends Event { 6 | } 7 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/stuff/event/DeletedEvent.java: -------------------------------------------------------------------------------- 1 | package com.github.rickardoberg.stuff.event; 2 | 3 | import com.github.rickardoberg.cqrs.event.Event; 4 | 5 | public class DeletedEvent extends Event { 6 | } 7 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/stuff/event/DoneEvent.java: -------------------------------------------------------------------------------- 1 | package com.github.rickardoberg.stuff.event; 2 | 3 | import com.github.rickardoberg.cqrs.event.Event; 4 | 5 | public class DoneEvent 6 | extends Event { 7 | public boolean done; 8 | } 9 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/stuff/rest/StuffComponent.java: -------------------------------------------------------------------------------- 1 | package com.github.rickardoberg.stuff.rest; 2 | 3 | import org.restlet.Component; 4 | import org.restlet.data.Protocol; 5 | 6 | public class StuffComponent 7 | extends Component { 8 | public StuffComponent() { 9 | getClients().add(Protocol.FILE); 10 | getDefaultHost().attach("/", new StuffApplication()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/java/com/github/rickardoberg/stuff/usecase/Overview.java: -------------------------------------------------------------------------------- 1 | package com.github.rickardoberg.stuff.usecase; 2 | 3 | public class Overview { 4 | } 5 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/resources/htdocs/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Copyright (C) Rickard Oberg 4 | 5 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/resources/htdocs/menu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/resources/htdocs/stuff.css: -------------------------------------------------------------------------------- 1 | div.menu { 2 | float: left 3 | } 4 | 5 | div.menu > ul { 6 | list-style-type: none; 7 | margin: 0; 8 | padding: 0; 9 | } 10 | 11 | div.menu > ul > li > a { 12 | display: block; 13 | width: 60px; 14 | border: thin solid black; 15 | background: #d3d3d3; 16 | text-align: center; 17 | margin: 3px; 18 | color: red 19 | } -------------------------------------------------------------------------------- /mapdb/stuff/src/main/resources/inbox/inbox.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | New task 4 | 5 | 15 | 16 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/resources/inbox/newtask.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/resources/inbox/task/task.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $task.createdOn 5 | 6 |
7 |
9 | 10 |
11 | 12 | -------------------------------------------------------------------------------- /mapdb/stuff/src/main/resources/velocity.properties: -------------------------------------------------------------------------------- 1 | resource.loader=class 2 | class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 3 | -------------------------------------------------------------------------------- /monolith/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /monolith/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /monolith/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/monolith/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /monolith/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /monolith/README.adoc: -------------------------------------------------------------------------------- 1 | = monolith 2 | 3 | .build 4 | ---- 5 | ./mvnw ; ./gradlew 6 | 7 | java -jar app/target/*.jar 8 | http :8080 9 | 10 | java -jar app/build/libs/*.jar 11 | http :8080/api/v1/messages 'accept:application/stream+json' --stream 12 | ---- 13 | -------------------------------------------------------------------------------- /monolith/app/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | 12 | ### IntelliJ IDEA ### 13 | .idea 14 | *.iws 15 | *.iml 16 | *.ipr 17 | 18 | ### NetBeans ### 19 | nbproject/private/ 20 | build/ 21 | nbbuild/ 22 | dist/ 23 | nbdist/ 24 | .nb-gradle/ -------------------------------------------------------------------------------- /monolith/app/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/monolith/app/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /monolith/app/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /monolith/app/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/monolith/app/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /monolith/app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jul 28 13:37:07 BST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.2-bin.zip 7 | -------------------------------------------------------------------------------- /monolith/app/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | spring.mvc.favicon.enabled=false 3 | spring.thymeleaf.reactive.max-chunk-size=8192 4 | spring.data.mongodb.database=monolith 5 | spring.data.mongodb.port=0 6 | #spring.data.mongodb.host=${SPRING_DATA_MONGODB_HOST:0.0.0.0} 7 | -------------------------------------------------------------------------------- /monolith/app/src/main/resources/messages.properties: -------------------------------------------------------------------------------- 1 | ololo=trololo 2 | trololo=ololo 3 | -------------------------------------------------------------------------------- /monolith/app/src/main/resources/messages_ru.properties: -------------------------------------------------------------------------------- 1 | ololo=трололо 2 | trololo=ололо 3 | -------------------------------------------------------------------------------- /monolith/app/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/monolith/app/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /monolith/app/src/main/resources/static/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 1%; 3 | } 4 | -------------------------------------------------------------------------------- /monolith/app/src/test/java/daggerok/AppApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | public class AppApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /monolith/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | gradle-monolith-app: 6 | build: 7 | context: ./app 8 | dockerfile: ./gradle/Dockerfile 9 | volumes: ["gradle-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | restart: unless-stopped 13 | 14 | volumes: 15 | gradle-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /monolith/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | maven-monolith-app: 6 | build: 7 | context: ./app 8 | dockerfile: ./.mvn/Dockerfile 9 | volumes: ["maven-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | restart: unless-stopped 13 | 14 | volumes: 15 | maven-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /monolith/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/monolith/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /monolith/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /monolith/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'monolith' 3 | include 'app' 4 | -------------------------------------------------------------------------------- /mustache-json/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | app: 6 | build: . 7 | volumes: ["app-data:/home"] 8 | ports: ["8080:8080"] 9 | networks: [backing-services] 10 | restart: unless-stopped 11 | mem_limit: 209715200 # container limit: 200Mb (200 * 1024 * 1024) 12 | 13 | volumes: 14 | app-data: {} 15 | 16 | networks: 17 | backing-services: 18 | driver: bridge 19 | -------------------------------------------------------------------------------- /mustache-json/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/mustache-json/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /mustache-json/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /mustache-json/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.mustache.content-type=application/json 2 | spring.mustache.suffix=.json 3 | -------------------------------------------------------------------------------- /mustache-json/src/main/resources/templates/hello.json: -------------------------------------------------------------------------------- 1 | { 2 | "message": "hello, {{name}}!" 3 | } 4 | -------------------------------------------------------------------------------- /mustache-json/src/main/resources/templates/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": [ 3 | { "GET": "/hello" }, 4 | { "GET": "/hello/{name}" } 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /optional-mvc-path-variable/.java-version: -------------------------------------------------------------------------------- 1 | 11.0 2 | -------------------------------------------------------------------------------- /optional-mvc-path-variable/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /optional-mvc-path-variable/src/main/resources/templates/non-nullable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Non Nullable 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /optional-mvc-path-variable/src/main/resources/templates/nullable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Nullable 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /optional-mvc-path-variable/src/main/resources/templates/optional.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Optional 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /optional-mvc-path-variable/src/test/java/com/example/optionalmvcpathvariable/OptionalMvcPathVariableApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.optionalmvcpathvariable; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class OptionalMvcPathVariableApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /optional-mvc-path-variable/test.http: -------------------------------------------------------------------------------- 1 | GET http://127.0.0.1:8080/ 2 | Accept: application/json 3 | 4 | ### 5 | GET http://127.0.0.1:8080/optional 6 | 7 | ### 8 | GET http://127.0.0.1:8080/optional/ololo%20trololo 9 | 10 | ### 11 | GET http://127.0.0.1:8080/nullable 12 | 13 | ### 14 | GET http://127.0.0.1:8080/nullable/ohoho 15 | 16 | ### 17 | GET http://127.0.0.1:8080/non-nullable 18 | 19 | ### 20 | GET http://127.0.0.1:8080/non-nullable/nonono 21 | 22 | ### 23 | -------------------------------------------------------------------------------- /reactive-functional-security/boot-reactive-backend/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compile("org.springframework.boot:spring-boot-starter-data-mongodb-reactive") 3 | compile("org.springframework.boot:spring-boot-starter-webflux") 4 | runtime("org.springframework.boot:spring-boot-devtools") 5 | 6 | compile("org.springframework.security:spring-security-core") 7 | compile("org.springframework.security:spring-security-config") 8 | compile("org.springframework.security:spring-security-webflux") 9 | } 10 | -------------------------------------------------------------------------------- /reactive-functional-security/boot-reactive-backend/src/main/java/daggerok/BootReactiveBackendApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class BootReactiveBackendApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(BootReactiveBackendApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /reactive-functional-security/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Mongo Database 2 | -------------------------------------------------------------------------------- /reactive-functional-security/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | services: 3 | mongo: 4 | #image: mongo:3.0.15 5 | image: healthcheck/mongo:latest 6 | ports: ["27017:27017"] 7 | networks: [backing-services] 8 | volumes: ["mongo-data:/data/db"] 9 | volumes: 10 | mongo-data: {} 11 | networks: 12 | backing-services: 13 | driver: bridge 14 | -------------------------------------------------------------------------------- /reactive-functional-security/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-functional-security/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-functional-security/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-functional-security/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'docker' 2 | include 'boot-reactive-backend' 3 | enableFeaturePreview 'STABLE_PUBLISHING' 4 | -------------------------------------------------------------------------------- /reactive-mongo-webflux-functional/boot-reactive-backend/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compile("org.springframework.boot:spring-boot-starter-data-mongodb-reactive") 3 | compile("org.springframework.boot:spring-boot-starter-webflux") 4 | runtime("org.springframework.boot:spring-boot-devtools") 5 | } 6 | -------------------------------------------------------------------------------- /reactive-mongo-webflux-functional/boot-reactive-backend/src/main/java/daggerok/BootReactiveBackendApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class BootReactiveBackendApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(BootReactiveBackendApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /reactive-mongo-webflux-functional/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Mongo Database 2 | -------------------------------------------------------------------------------- /reactive-mongo-webflux-functional/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | services: 3 | mongo: 4 | #image: mongo:3.0.15 5 | image: healthcheck/mongo:latest 6 | ports: ["27017:27017"] 7 | networks: [backing-services] 8 | volumes: ["mongo-data:/data/db"] 9 | volumes: 10 | mongo-data: {} 11 | networks: 12 | backing-services: 13 | driver: bridge 14 | -------------------------------------------------------------------------------- /reactive-mongo-webflux-functional/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-mongo-webflux-functional/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-mongo-webflux-functional/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-mongo-webflux-functional/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'docker' 2 | include 'boot-reactive-backend' 3 | enableFeaturePreview 'STABLE_PUBLISHING' 4 | -------------------------------------------------------------------------------- /reactive-mongo-webflux/boot-reactive-backend/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compile("org.springframework.boot:spring-boot-starter-data-mongodb-reactive") 3 | compile("org.springframework.boot:spring-boot-starter-webflux") 4 | runtime("org.springframework.boot:spring-boot-devtools") 5 | } 6 | -------------------------------------------------------------------------------- /reactive-mongo-webflux/boot-reactive-backend/src/main/java/daggerok/BootReactiveBackendApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class BootReactiveBackendApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(BootReactiveBackendApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /reactive-mongo-webflux/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Mongo Database 2 | -------------------------------------------------------------------------------- /reactive-mongo-webflux/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | services: 3 | mongo: 4 | #image: mongo:3.0.15 5 | image: healthcheck/mongo:latest 6 | ports: ["27017:27017"] 7 | networks: [backing-services] 8 | volumes: ["mongo-data:/data/db"] 9 | volumes: 10 | mongo-data: {} 11 | networks: 12 | backing-services: 13 | driver: bridge 14 | -------------------------------------------------------------------------------- /reactive-mongo-webflux/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-mongo-webflux/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-mongo-webflux/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-mongo-webflux/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'docker' 2 | include 'boot-reactive-backend' 3 | enableFeaturePreview 'STABLE_PUBLISHING' 4 | -------------------------------------------------------------------------------- /reactive-ngrx/.gitignore: -------------------------------------------------------------------------------- 1 | src/main/resources/public 2 | .gradle 3 | target 4 | dist 5 | node_nodules 6 | src/main/resources/public 7 | package-lock.json 8 | yarn.lock 9 | *.log 10 | 11 | ### STS ### 12 | .apt_generated 13 | .classpath 14 | .factorypath 15 | .project 16 | .settings 17 | .springBeans 18 | 19 | ### IntelliJ IDEA ### 20 | .idea 21 | *.iws 22 | *.iml 23 | *.ipr 24 | 25 | ### NetBeans ### 26 | nbproject/private/ 27 | build/ 28 | nbbuild/ 29 | dist/ 30 | nbdist/ 31 | .nb-gradle/ 32 | -------------------------------------------------------------------------------- /reactive-ngrx/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-ngrx/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /reactive-ngrx/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /reactive-ngrx/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-ngrx/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-ngrx/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-ngrx/seed-projects/.gitignore: -------------------------------------------------------------------------------- 1 | ngrx-store-effects-app 2 | redux-store 3 | -------------------------------------------------------------------------------- /reactive-ngrx/seed-projects/README.adoc: -------------------------------------------------------------------------------- 1 | = seeds projects 2 | 3 | .redux store seed 4 | ---- 5 | git clone https://github.com/UltimateAngular/redux-store 6 | ---- 7 | 8 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/README.adoc: -------------------------------------------------------------------------------- 1 | = libs 2 | 3 | . link:https://material.angular.io/guide/getting-started#step-1-install-angular-material-and-angular-cdk[@angular/material] 4 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/app/app-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | const routes: Routes = [ 5 | { 6 | path: '', 7 | children: [] 8 | } 9 | ]; 10 | 11 | @NgModule({ 12 | imports: [RouterModule.forRoot(routes)], 13 | exports: [RouterModule] 14 | }) 15 | export class AppRoutingModule { } 16 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-root', 5 | template: ` 6 |

7 | {{title}} 8 |

9 | 10 | 11 | `, 12 | styles: [], 13 | }) 14 | export class AppComponent { 15 | title = 'app works!'; 16 | 17 | constructor() { 18 | console.log('hey!'); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-ngrx/src/main/ngrx/src/assets/.gitkeep -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | production: false 8 | }; 9 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-ngrx/src/main/ngrx/src/favicon.ico -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ngrx 6 | 7 | 8 | 9 | 10 | 11 | 12 | Loading... 13 | 14 | 15 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/main.ts: -------------------------------------------------------------------------------- 1 | import 'hammerjs'; 2 | 3 | import { enableProdMode } from '@angular/core'; 4 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 5 | 6 | import { AppModule } from './app/app.module'; 7 | import { environment } from './environments/environment'; 8 | 9 | if (environment.production) { 10 | enableProdMode(); 11 | } 12 | 13 | platformBrowserDynamic().bootstrapModule(AppModule); 14 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/styles.styl: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | @import "~@angular/material/prebuilt-themes/indigo-pink.css"; 3 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "module": "es2015", 6 | "baseUrl": "", 7 | "types": [] 8 | }, 9 | "exclude": [ 10 | "test.ts", 11 | "**/*.spec.ts" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/ngrx/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "outDir": "./dist/out-tsc", 5 | "baseUrl": "src", 6 | "sourceMap": true, 7 | "declaration": false, 8 | "moduleResolution": "node", 9 | "emitDecoratorMetadata": true, 10 | "experimentalDecorators": true, 11 | "target": "es5", 12 | "typeRoots": [ 13 | "node_modules/@types" 14 | ], 15 | "lib": [ 16 | "es2016", 17 | "dom" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /reactive-ngrx/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | thymeleaf: 3 | prefix: classpath:/public/ 4 | suffix: .html 5 | mvc: 6 | favicon: 7 | enabled: false 8 | output: 9 | ansi: 10 | enabled: always 11 | -------------------------------------------------------------------------------- /reactive-ngrx/src/test/java/daggerok/ReactiveNgRxApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | public class ReactiveNgRxApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /reactive-security-auth/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Mongo Database 2 | -------------------------------------------------------------------------------- /reactive-security-auth/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | services: 3 | mongo: 4 | #image: mongo:3.0.15 5 | image: healthcheck/mongo:latest 6 | ports: ["27017:27017"] 7 | networks: [backing-services] 8 | volumes: ["mongo-data:/data/db"] 9 | volumes: 10 | mongo-data: {} 11 | networks: 12 | backing-services: 13 | driver: bridge 14 | -------------------------------------------------------------------------------- /reactive-security-auth/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-security-auth/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-security-auth/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-security-auth/reactive-backend/src/main/java/daggerok/data/UserReactiveRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.data; 2 | 3 | import org.springframework.data.mongodb.repository.ReactiveMongoRepository; 4 | import org.springframework.stereotype.Repository; 5 | import reactor.core.publisher.Mono; 6 | 7 | @Repository 8 | public interface UserReactiveRepository extends ReactiveMongoRepository { 9 | Mono findByUsername(final String username); 10 | } 11 | -------------------------------------------------------------------------------- /reactive-security-auth/reactive-client/src/main/java/daggerok/ReactiveClientApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @Slf4j 8 | @SpringBootApplication 9 | public class ReactiveClientApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(ReactiveClientApplication.class, args); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /reactive-security-auth/reactive-client/src/main/java/daggerok/dto/Movie.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class Movie implements Serializable { 9 | 10 | private static final long serialVersionUID = 8016029622462112631L; 11 | 12 | String id; 13 | String title; 14 | } 15 | -------------------------------------------------------------------------------- /reactive-security-auth/reactive-client/src/main/java/daggerok/dto/MovieEvent.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.time.LocalDateTime; 7 | 8 | @Data 9 | public class MovieEvent implements Serializable { 10 | 11 | private static final long serialVersionUID = -1557020829109982804L; 12 | 13 | Movie movie; 14 | LocalDateTime updatedAt; 15 | } 16 | -------------------------------------------------------------------------------- /reactive-security-auth/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'docker' 2 | include 'reactive-backend' 3 | include 'reactive-client' 4 | enableFeaturePreview 'STABLE_PUBLISHING' 5 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Mongo Database 2 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/docker/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Sep 03 09:36:30 EEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 7 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/reactive-backend/src/main/java/daggerok/data/UserReactiveRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.data; 2 | 3 | import org.springframework.data.repository.reactive.ReactiveCrudRepository; 4 | import org.springframework.stereotype.Repository; 5 | import reactor.core.publisher.Mono; 6 | 7 | @Repository 8 | public interface UserReactiveRepository extends ReactiveCrudRepository { 9 | Mono findByUsername(final String username); 10 | } 11 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/reactive-client/src/main/java/daggerok/dto/Movie.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class Movie implements Serializable { 9 | 10 | private static final long serialVersionUID = 8016029622462112631L; 11 | 12 | String id; 13 | String title; 14 | } 15 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/reactive-client/src/main/java/daggerok/dto/MovieEvent.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.time.LocalDateTime; 7 | 8 | @Data 9 | public class MovieEvent implements Serializable { 10 | 11 | private static final long serialVersionUID = -1557020829109982804L; 12 | 13 | Movie movie; 14 | LocalDateTime updatedAt; 15 | } 16 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/reactive-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8002 3 | 4 | boot-reactive-backend: 5 | ip: 127.0.0.1 6 | port: 8001 7 | base-url: http://${boot-reactive-backend.ip}:${boot-reactive-backend.port} 8 | credentials: 9 | username: user 10 | password: user 11 | -------------------------------------------------------------------------------- /reactive-security-client-cassandra/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'docker' 2 | include 'reactive-backend' 3 | include 'reactive-client' 4 | enableFeaturePreview 'STABLE_PUBLISHING' 5 | -------------------------------------------------------------------------------- /reactive-security-client-redis/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Redis Database 2 | -------------------------------------------------------------------------------- /reactive-security-client-redis/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | services: 3 | redis: 4 | #image: redis:3.2.10 5 | image: healthcheck/redis:latest 6 | ports: ["6379:6379"] 7 | networks: [backing-services] 8 | volumes: ["redis-data:/data"] 9 | volumes: 10 | redis-data: {} 11 | networks: 12 | backing-services: 13 | driver: bridge 14 | -------------------------------------------------------------------------------- /reactive-security-client-redis/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Sep 03 09:36:30 EEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 7 | -------------------------------------------------------------------------------- /reactive-security-client-redis/reactive-backend/src/main/java/daggerok/data/UserReactiveRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.data; 2 | 3 | import org.springframework.data.repository.CrudRepository; 4 | import org.springframework.stereotype.Repository; 5 | import reactor.core.publisher.Mono; 6 | 7 | @Repository 8 | public interface UserReactiveRepository extends CrudRepository { 9 | Mono findByUsername(final String username); 10 | } 11 | -------------------------------------------------------------------------------- /reactive-security-client-redis/reactive-client/src/main/java/daggerok/dto/Movie.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class Movie implements Serializable { 9 | 10 | private static final long serialVersionUID = 8016029622462112631L; 11 | 12 | String id; 13 | String title; 14 | } 15 | -------------------------------------------------------------------------------- /reactive-security-client-redis/reactive-client/src/main/java/daggerok/dto/MovieEvent.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.time.LocalDateTime; 7 | 8 | @Data 9 | public class MovieEvent implements Serializable { 10 | 11 | private static final long serialVersionUID = -1557020829109982804L; 12 | 13 | Movie movie; 14 | LocalDateTime updatedAt; 15 | } 16 | -------------------------------------------------------------------------------- /reactive-security-client-redis/reactive-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8002 3 | 4 | boot-reactive-backend: 5 | ip: 127.0.0.1 6 | port: 8001 7 | base-url: http://${boot-reactive-backend.ip}:${boot-reactive-backend.port} 8 | credentials: 9 | username: user 10 | password: user 11 | -------------------------------------------------------------------------------- /reactive-security-client-redis/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'docker' 2 | include 'reactive-backend' 3 | include 'reactive-client' 4 | enableFeaturePreview 'STABLE_PUBLISHING' 5 | -------------------------------------------------------------------------------- /reactive-security-client/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Mongo Database 2 | -------------------------------------------------------------------------------- /reactive-security-client/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | services: 3 | mongo: 4 | #image: mongo:3.0.15 5 | image: healthcheck/mongo:latest 6 | ports: ["27017:27017"] 7 | networks: [backing-services] 8 | volumes: ["mongo-data:/data/db"] 9 | volumes: 10 | mongo-data: {} 11 | networks: 12 | backing-services: 13 | driver: bridge 14 | -------------------------------------------------------------------------------- /reactive-security-client/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-security-client/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-security-client/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-security-client/reactive-backend/src/main/java/daggerok/data/UserReactiveRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.data; 2 | 3 | import org.springframework.data.mongodb.repository.ReactiveMongoRepository; 4 | import org.springframework.stereotype.Repository; 5 | import reactor.core.publisher.Mono; 6 | 7 | @Repository 8 | public interface UserReactiveRepository extends ReactiveMongoRepository { 9 | Mono findByUsername(final String username); 10 | } 11 | -------------------------------------------------------------------------------- /reactive-security-client/reactive-client/src/main/java/daggerok/ReactiveClientApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @Slf4j 8 | @SpringBootApplication 9 | public class ReactiveClientApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(ReactiveClientApplication.class, args); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /reactive-security-client/reactive-client/src/main/java/daggerok/dto/Movie.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class Movie implements Serializable { 9 | 10 | private static final long serialVersionUID = 8016029622462112631L; 11 | 12 | String id; 13 | String title; 14 | } 15 | -------------------------------------------------------------------------------- /reactive-security-client/reactive-client/src/main/java/daggerok/dto/MovieEvent.java: -------------------------------------------------------------------------------- 1 | package daggerok.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.time.LocalDateTime; 7 | 8 | @Data 9 | public class MovieEvent implements Serializable { 10 | 11 | private static final long serialVersionUID = -1557020829109982804L; 12 | 13 | Movie movie; 14 | LocalDateTime updatedAt; 15 | } 16 | -------------------------------------------------------------------------------- /reactive-security-client/reactive-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8002 3 | 4 | boot-reactive-backend: 5 | ip: 127.0.0.1 6 | port: 8001 7 | base-url: http://${boot-reactive-backend.ip}:${boot-reactive-backend.port} 8 | credentials: 9 | username: user 10 | password: user 11 | -------------------------------------------------------------------------------- /reactive-security-client/settings.gradle: -------------------------------------------------------------------------------- 1 | include 'docker' 2 | include 'reactive-backend' 3 | include 'reactive-client' 4 | enableFeaturePreview 'STABLE_PUBLISHING' 5 | -------------------------------------------------------------------------------- /reactive-spring-webflux-and-web-client/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .gradle/ 3 | target/ 4 | build/ 5 | out/ 6 | .idea/ 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log* 11 | -------------------------------------------------------------------------------- /reactive-spring-webflux-and-web-client/buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | idea 3 | `kotlin-dsl` 4 | } 5 | 6 | repositories { 7 | gradlePluginPortal() 8 | } 9 | 10 | idea { 11 | module { 12 | isDownloadJavadoc = false 13 | isDownloadSources = false 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /reactive-spring-webflux-and-web-client/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-spring-webflux-and-web-client/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-spring-webflux-and-web-client/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-rc-2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /reactive-spring-webflux-and-web-client/rest-api.http: -------------------------------------------------------------------------------- 1 | GET http://127.0.0.1:8080/ 2 | 3 | ### 4 | 5 | GET http://127.0.0.1:8080/api/v1/hey 6 | 7 | ### 8 | 9 | GET http://127.0.0.1:8080/api/v1/hoy 10 | 11 | ### 12 | 13 | GET http://127.0.0.1:8080/api/v1/collect 14 | 15 | ### 16 | -------------------------------------------------------------------------------- /reactive-spring-webflux-and-web-client/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: app 4 | output: 5 | ansi: 6 | enabled: always 7 | -------------------------------------------------------------------------------- /reactive-spring-webflux-and-web-client/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testinstance.lifecycle.default = per_class 2 | -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/.gitignore: -------------------------------------------------------------------------------- 1 | ### STS ### 2 | .apt_generated 3 | .classpath 4 | .factorypath 5 | .project 6 | .settings 7 | .springBeans 8 | 9 | ### NetBeans ### 10 | nbproject/private/ 11 | build/ 12 | nbbuild/ 13 | dist/ 14 | nbdist/ 15 | .nb-gradle/ 16 | 17 | ### IntelliJ IDEA ### 18 | .gradle/ 19 | *.iws 20 | *.iml 21 | *.ipr 22 | .idea/ 23 | !.idea/runConfigurations/* 24 | -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/docker/README.adoc: -------------------------------------------------------------------------------- 1 | = Mongo Database 2 | -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | services: 3 | redis: 4 | image: healthcheck/redis:alpine 5 | ports: 6 | - 6379:6379 7 | volumes: 8 | - redis-data:/data 9 | networks: [backing-services] 10 | volumes: 11 | redis-data: {} 12 | networks: 13 | backing-services: 14 | driver: bridge 15 | -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-webflux-spring-data-redis/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | include 'docker' 3 | -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/src/main/java/daggerok/data/ActivityRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.data; 2 | 3 | import org.springframework.data.repository.CrudRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface ActivityRepository extends CrudRepository {} 8 | -------------------------------------------------------------------------------- /reactive-webflux-spring-data-redis/src/main/java/daggerok/data/TaskRepository.java: -------------------------------------------------------------------------------- 1 | package daggerok.data; 2 | 3 | import org.springframework.data.repository.CrudRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface TaskRepository extends CrudRepository {} 8 | -------------------------------------------------------------------------------- /reactive-websocket-api-1/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-api-1/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-websocket-api-1/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/README.asciidoc: -------------------------------------------------------------------------------- 1 | = functional-spring image:https://travis-ci.org/daggerok/functional-spring.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/reactive-spring"] 2 | 3 | this repository contains a very simple spring webflux examples 4 | 5 | [source,bash] 6 | ---- 7 | gradle bootRun-service 8 | gradle bootRun-other-service 9 | gradle bootRun-client 10 | ---- 11 | 12 | read more 13 | 14 | * https://github.com/spring-projects/spring-retry[spring-retry] 15 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/back/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/back/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-api-2/back/settings.gradle -------------------------------------------------------------------------------- /reactive-websocket-api-2/back/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-api-2/back/src/main/resources/application.properties -------------------------------------------------------------------------------- /reactive-websocket-api-2/back/src/test/kotlin/daggerok/BackendApplicationTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest 10 | class BackendApplicationTests { 11 | 12 | @Test 13 | fun contextLoads() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Oct 04 20:56:57 EEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 7 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'reactive-websocket-api' 2 | enableFeaturePreview 'STABLE_PUBLISHING' 3 | includeBuild 'ui' 4 | includeBuild 'back' 5 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "ui" 2 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | .list-style-none { 2 | list-style: none; 3 | } 4 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | Welcome to {{title}}! 4 |

5 |
    6 |
  • 7 | Session ID: {{ message.sessionId }} 8 |
    9 | Message: {{ message.body }} 10 |
  • 11 |
12 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { BrowserModule } from '@angular/platform-browser'; 2 | import { NgModule } from '@angular/core'; 3 | 4 | import { AppComponent } from './app.component'; 5 | 6 | @NgModule({ 7 | declarations: [ 8 | AppComponent 9 | ], 10 | imports: [ 11 | BrowserModule 12 | ], 13 | providers: [], 14 | bootstrap: [AppComponent] 15 | }) 16 | export class AppModule { 17 | } 18 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-api-2/ui/src/assets/.gitkeep -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/environments/environment.cloud.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | webSocketUrl: 'ws://back:8080', 4 | }; 5 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | webSocketUrl: 'ws://127.0.0.1:8080', 4 | }; 5 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-api-2/ui/src/favicon.ico -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | UI 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule) 12 | .catch(err => console.log(err)); 13 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8000 3 | spring: 4 | mustache: 5 | prefix: classpath:/static 6 | suffix: .html 7 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/styles.css: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "baseUrl": "./", 6 | "module": "es2015", 7 | "types": [] 8 | }, 9 | "exclude": [ 10 | "test.ts", 11 | "**/*.spec.ts" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | 4 | interface NodeModule { 5 | id: string; 6 | } 7 | -------------------------------------------------------------------------------- /reactive-websocket-api-2/ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "outDir": "./dist/out-tsc", 5 | "sourceMap": true, 6 | "declaration": false, 7 | "moduleResolution": "node", 8 | "emitDecoratorMetadata": true, 9 | "experimentalDecorators": true, 10 | "target": "es5", 11 | "typeRoots": [ 12 | "node_modules/@types" 13 | ], 14 | "lib": [ 15 | "es2017", 16 | "dom" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /reactive-websocket-sse/README.asciidoc: -------------------------------------------------------------------------------- 1 | = functional-spring image:https://travis-ci.org/daggerok/functional-spring.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/reactive-spring"] 2 | 3 | this repository contains a very simple spring webflux examples 4 | 5 | [source,bash] 6 | ---- 7 | gradle bootRun-service 8 | gradle bootRun-other-service 9 | gradle bootRun-client 10 | ---- 11 | 12 | read more 13 | 14 | * https://github.com/spring-projects/spring-retry[spring-retry] 15 | -------------------------------------------------------------------------------- /reactive-websocket-sse/back/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-sse/back/settings.gradle -------------------------------------------------------------------------------- /reactive-websocket-sse/back/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-sse/back/src/main/resources/application.properties -------------------------------------------------------------------------------- /reactive-websocket-sse/back/src/test/kotlin/daggerok/BackendApplicationTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest 10 | class BackendApplicationTests { 11 | 12 | @Test 13 | fun contextLoads() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /reactive-websocket-sse/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-sse/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactive-websocket-sse/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactive-websocket-sse/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'reactive-websocket-sse' 2 | enableFeaturePreview 'STABLE_PUBLISHING' 3 | includeBuild 'ui' 4 | includeBuild 'back' 5 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "ui" 2 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | .list-style-none { 2 | list-style: none; 3 | } 4 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | Welcome to {{title}}! 4 |

5 |
    6 |
  • 7 | Session ID: {{ message.sessionId }} 8 |
    9 | Message: {{ message.body }} 10 |
  • 11 |
12 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { BrowserModule } from '@angular/platform-browser'; 2 | import { NgModule } from '@angular/core'; 3 | 4 | import { AppComponent } from './app.component'; 5 | 6 | @NgModule({ 7 | declarations: [ 8 | AppComponent 9 | ], 10 | imports: [ 11 | BrowserModule 12 | ], 13 | providers: [], 14 | bootstrap: [AppComponent] 15 | }) 16 | export class AppModule { 17 | } 18 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-sse/ui/src/assets/.gitkeep -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/environments/environment.cloud.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | webSocketUrl: 'ws://back:8080', 4 | }; 5 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | webSocketUrl: 'ws://127.0.0.1:8080', 4 | }; 5 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactive-websocket-sse/ui/src/favicon.ico -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | UI 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule) 12 | .catch(err => console.log(err)); 13 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8000 3 | spring: 4 | mustache: 5 | prefix: classpath:/static 6 | suffix: .html 7 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/styles.css: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "baseUrl": "./", 6 | "module": "es2015", 7 | "types": [] 8 | }, 9 | "exclude": [ 10 | "test.ts", 11 | "**/*.spec.ts" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | 4 | interface NodeModule { 5 | id: string; 6 | } 7 | -------------------------------------------------------------------------------- /reactive-websocket-sse/ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "outDir": "./dist/out-tsc", 5 | "sourceMap": true, 6 | "declaration": false, 7 | "moduleResolution": "node", 8 | "emitDecoratorMetadata": true, 9 | "experimentalDecorators": true, 10 | "target": "es5", 11 | "typeRoots": [ 12 | "node_modules/@types" 13 | ], 14 | "lib": [ 15 | "es2017", 16 | "dom" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /reactor-processors/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | *.log 13 | -------------------------------------------------------------------------------- /reactor-processors/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /reactor-processors/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactor-processors/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /reactor-processors/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /reactor-processors/flux-sink/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | logging.level.daggerok=DEBUG 3 | -------------------------------------------------------------------------------- /reactor-processors/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/reactor-processors/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reactor-processors/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /reactor-processors/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'reactor-processors' 3 | include 'flux-sink' 4 | -------------------------------------------------------------------------------- /rmi/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/rmi/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /rmi/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /rmi/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/rmi/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /rmi/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /rmi/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'rmi' 3 | include 'spring-rmi-api' 4 | include 'spring-rmi-service' 5 | include 'spring-rmi-client' 6 | -------------------------------------------------------------------------------- /rmi/spring-rmi-api/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly("org.projectlombok:lombok:1.16.18") 3 | } 4 | -------------------------------------------------------------------------------- /rmi/spring-rmi-api/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/rmi/spring-rmi-api/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /rmi/spring-rmi-api/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jan 19 20:15:27 EET 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip 7 | -------------------------------------------------------------------------------- /rmi/spring-rmi-api/src/main/java/daggerok/Main.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | public class Main { 4 | public static void main(String[] args) { 5 | // stub 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /rmi/spring-rmi-api/src/main/java/daggerok/api/RemoteUserService.java: -------------------------------------------------------------------------------- 1 | package daggerok.api; 2 | 3 | import java.rmi.Remote; 4 | import java.rmi.RemoteException; 5 | import java.util.List; 6 | import java.util.UUID; 7 | 8 | public interface RemoteUserService extends Remote { 9 | 10 | UUID saveUser(final User user) throws RemoteException; 11 | 12 | User getUser(final UUID uuid) throws RemoteException; 13 | 14 | List getAllUsers() throws RemoteException; 15 | } 16 | -------------------------------------------------------------------------------- /rmi/spring-rmi-api/src/main/java/daggerok/api/UserService.java: -------------------------------------------------------------------------------- 1 | package daggerok.api; 2 | 3 | import java.util.List; 4 | import java.util.UUID; 5 | 6 | public interface UserService { 7 | 8 | UUID saveUser(final User user); 9 | 10 | User getUser(final UUID uuid); 11 | 12 | List getAllUsers(); 13 | } 14 | -------------------------------------------------------------------------------- /rmi/spring-rmi-client/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/rmi/spring-rmi-client/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /rmi/spring-rmi-client/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /rmi/spring-rmi-client/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "org.springframework.boot" 2 | apply plugin: "io.spring.dependency-management" 3 | 4 | dependencies { 5 | compile(project(":spring-rmi-api")) 6 | compileOnly("org.projectlombok:lombok") 7 | compile("org.springframework.boot:spring-boot-starter-webflux") 8 | runtime("org.springframework.boot:spring-boot-devtools") 9 | } 10 | -------------------------------------------------------------------------------- /rmi/spring-rmi-client/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | rmi.server.host=${RMI_SERVER_HOST:127.0.0.1} 3 | -------------------------------------------------------------------------------- /rmi/spring-rmi-service/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/rmi/spring-rmi-service/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /rmi/spring-rmi-service/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /rmi/spring-rmi-service/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "org.springframework.boot" 2 | apply plugin: "io.spring.dependency-management" 3 | 4 | dependencies { 5 | compile(project(":spring-rmi-api")) 6 | compileOnly("org.projectlombok:lombok") 7 | compile("org.springframework.boot:spring-boot-starter-webflux") 8 | runtime("org.springframework.boot:spring-boot-devtools") 9 | } 10 | -------------------------------------------------------------------------------- /rmi/spring-rmi-service/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | server.port=0 3 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | build 4 | target 5 | out 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log* 11 | .DS_Store 12 | Thumbs.db 13 | /public/ 14 | ./leveldb-* 15 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/servlet-and-jsp-registration/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /servlet-and-jsp-registration/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip -------------------------------------------------------------------------------- /servlet-and-jsp-registration/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | #org.gradle.console=rich 3 | org.gradle.console=plain 4 | #org.gradle.console=verbose 5 | 6 | ## artifactory 7 | artifactory_user=admin 8 | #artifactory_password=password 9 | artifactory_password=AP2bD5A6qnanPtXbRqeDAitPeAh 10 | artifactory_contextUrl=http://127.0.0.1/artifactory 11 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/gradle/main.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'application' 2 | apply plugin: 'com.github.johnrengelman.shadow' 3 | 4 | mainClassName = 'daggerok.App' 5 | shadowJar.mustRunAfter jar 6 | defaultTasks 'clean', 'build' 7 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() 3 | mavenCentral() 4 | jcenter() 5 | maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/servlet-and-jsp-registration/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /servlet-and-jsp-registration/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'servlet-and-jsp-registration' 2 | enableFeaturePreview 'STABLE_PUBLISHING' 3 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/src/main/resources/application-JSPs.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | # JS'Ps only 6 | mvc: 7 | view: 8 | prefix: /WEB-INF/jsp/ 9 | suffix: .jsp 10 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/src/main/resources/application-servlets.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | mvc: 6 | view: 7 | prefix: /WEB-INF/jsp/ 8 | suffix: .jsp 9 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/src/test/java/daggerok/AppJUnit4Test.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.hamcrest.MatcherAssert.assertThat; 6 | import static org.hamcrest.core.Is.is; 7 | 8 | public class AppJUnit4Test { 9 | 10 | @Test 11 | public void testPositive() { 12 | assertThat(true, is(true)); 13 | } 14 | 15 | @Test(expected = AssertionError.class) 16 | public void testNegative() { 17 | assertThat(false, is(true)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /servlet-and-jsp-registration/src/test/kotlin/daggerok/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | class AppTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/.gitignore: -------------------------------------------------------------------------------- 1 | src/main/resources/static 2 | src/main/resources/templates 3 | node_modules 4 | .cache 5 | .idea 6 | dist 7 | yarn.lock 8 | package-lock.json 9 | -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/some-spring-boot-2-frontend/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/src/main/js/README.adoc: -------------------------------------------------------------------------------- 1 | = parcel-vue-example image:https://travis-ci.org/daggerok/parcel-vue-example.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/parcel-vue-example"] 2 | This is all about how easy and quick we can start vue.js application using parcel without any generators.. 3 | 4 | .log 5 | ---- 6 | yarn -i 7 | yarn start 8 | yarn build 9 | yarn github 10 | ---- 11 | -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/src/main/js/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/some-spring-boot-2-frontend/src/main/js/app/favicon.ico -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/src/main/js/app/main.js: -------------------------------------------------------------------------------- 1 | import 'hammerjs/hammer'; 2 | import 'jquery/dist/jquery'; 3 | import 'materialize-css/dist/js/materialize'; 4 | import './style.scss'; 5 | 6 | import Vue from 'vue/dist/vue.js'; 7 | 8 | new Vue({ 9 | el: '#app', 10 | template: ` 11 |
Hey {{ name }}!
12 | `, 13 | data() { 14 | return { 15 | name: 'Spring Boot 2.0', 16 | }; 17 | }, 18 | }); 19 | -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/src/main/js/app/style.scss: -------------------------------------------------------------------------------- 1 | $bgColor: #ededed; 2 | 3 | body { 4 | margin: 0; 5 | padding: 1%; 6 | background-color: $bgColor; 7 | } 8 | -------------------------------------------------------------------------------- /some-spring-boot-2-frontend/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | spring.mustache.prefix=classpath:/static/ 3 | spring.mustache.suffix=.html 4 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-boot-under-the-hood/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring-boot-under-the-hood/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/power-of-conditions/src/test/java/daggerok/PowerOfConditionsApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class PowerOfConditionsApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { } 14 | } 15 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | include 'power-of-conditions' 3 | include 'spring-boot-custom-json-starter' 4 | include 'spring-boot-custom-json-starter-test' 5 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/spring-boot-custom-json-starter-test/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.custom-json.enable=true 2 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/spring-boot-custom-json-starter-test/src/test/java/daggerok/SpringBootCustomJsonStarterTestApplicationTests.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.test.context.junit4.SpringRunner; 6 | 7 | @RunWith(SpringRunner.class) 8 | public class SpringBootCustomJsonStarterTestApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { } 12 | } 13 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/spring-boot-custom-json-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=daggerok.config.CustomJsonAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/spring-boot-custom-json-starter/src/main/resources/application.properties.default: -------------------------------------------------------------------------------- 1 | spring.custom-json.enable=true 2 | -------------------------------------------------------------------------------- /spring-boot-under-the-hood/src/main/java/daggerok/SpringBootUnderTheHoodApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringBootUnderTheHoodApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringBootUnderTheHoodApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | build 4 | target 5 | out 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log* 11 | .DS_Store 12 | Thumbs.db 13 | /public/ 14 | ./leveldb-* 15 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/.mvn/redeploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # bash mvnw clean war:war -DskipTests; bash .mvn/redeploy.sh 3 | container=spring-data-count-query-fix_maven-spring-data-count-query-fix-app_1 4 | docker cp ./target/*.war ${container}:/home/jboss-eap-7.1/jboss-eap-7.1/standalone/deployments/app.war 5 | 6 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-data-jpa-count-query-fix/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-data-jpa-count-query-fix/docs/favicon.ico -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | #org.gradle.console=rich 3 | org.gradle.console=plain 4 | #org.gradle.console=verbose 5 | 6 | ## artifactory 7 | artifactory_user=admin 8 | #artifactory_password=password 9 | artifactory_password=AP2bD5A6qnanPtXbRqeDAitPeAh 10 | artifactory_contextUrl=http://127.0.0.1/artifactory 11 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/gradle/redeploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ./grdlew clean war; bash ./gradle/redeploy.sh 3 | container=jax-rs-hateoas-links_gradle-jax-rs-hateoas-links-app_1 4 | docker cp ./build/libs/*.war ${container}:/home/jboss-eap-7.1/jboss-eap-7.1/standalone/deployments/app.war 5 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() 3 | mavenCentral() 4 | jcenter() 5 | maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-data-jpa-count-query-fix/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'spring-data-count-query-fix' 2 | enableFeaturePreview 'STABLE_PUBLISHING' 3 | include 'docs' 4 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/src/main/resources/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/src/main/resources/application-spring-data.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | jpa: 3 | hibernate: 4 | ddl-auto: update 5 | generate-ddl: true 6 | show-sql: true 7 | -------------------------------------------------------------------------------- /spring-data-jpa-count-query-fix/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | - spring-data 6 | --- 7 | -------------------------------------------------------------------------------- /spring-ee/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | build 4 | target 5 | out 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log* 11 | .DS_Store 12 | Thumbs.db 13 | /public/ 14 | ./leveldb-* 15 | -------------------------------------------------------------------------------- /spring-ee/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .gradle 4 | ^.git/* 5 | .git 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | Thumbs.db 10 | */out/* 11 | ^.idea/* 12 | .idea 13 | *.iml 14 | *.ipr 15 | *.iws 16 | *.log* 17 | leveldb-* 18 | -------------------------------------------------------------------------------- /spring-ee/.mvn/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM daggerok/jboss:eap-7.1 2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf 3 | EXPOSE 5005 4 | HEALTHCHECK --timeout=1s --retries=66 \ 5 | CMD wget -q --spider http://127.0.0.1:8080/app/ \ 6 | || exit 1 7 | ADD ./target/*.war ${JBOSS_HOME}/standalone/deployments/app.war 8 | -------------------------------------------------------------------------------- /spring-ee/.mvn/redeploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # bash mvnw clean war:war -DskipTests; bash .mvn/redeploy.sh 3 | container=spring-ee_maven-spring-ee-app_1 4 | docker cp ./target/*.war ${container}:/home/jboss-eap-7.1/jboss-eap-7.1/standalone/deployments/app.war 5 | 6 | -------------------------------------------------------------------------------- /spring-ee/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-ee/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /spring-ee/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip -------------------------------------------------------------------------------- /spring-ee/docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-ee/docs/favicon.ico -------------------------------------------------------------------------------- /spring-ee/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | #org.gradle.console=rich 3 | org.gradle.console=plain 4 | #org.gradle.console=verbose 5 | 6 | ## artifactory 7 | artifactory_user=admin 8 | #artifactory_password=password 9 | artifactory_password=AP2bD5A6qnanPtXbRqeDAitPeAh 10 | artifactory_contextUrl=http://127.0.0.1/artifactory 11 | -------------------------------------------------------------------------------- /spring-ee/gradle/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM daggerok/jboss:eap-7.1 2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf 3 | EXPOSE 5005 4 | HEALTHCHECK --timeout=1s --retries=66 \ 5 | CMD wget -q --spider http://127.0.0.1:8080/app/ \ 6 | || exit 1 7 | ADD ./build/libs/*.war ${JBOSS_HOME}/standalone/deployments/app.war 8 | -------------------------------------------------------------------------------- /spring-ee/gradle/main.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'application' 2 | apply plugin: 'com.github.johnrengelman.shadow' 3 | 4 | mainClassName = 'daggerok.App' 5 | shadowJar.mustRunAfter jar 6 | defaultTasks 'clean', 'build' 7 | -------------------------------------------------------------------------------- /spring-ee/gradle/redeploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ./grdlew clean war; bash ./gradle/redeploy.sh 3 | container=jax-rs-hateoas-links_gradle-jax-rs-hateoas-links-app_1 4 | docker cp ./build/libs/*.war ${container}:/home/jboss-eap-7.1/jboss-eap-7.1/standalone/deployments/app.war 5 | -------------------------------------------------------------------------------- /spring-ee/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() // for some reasons code source not attaching with this mavenLocal repository enabled in idea... 3 | mavenCentral() 4 | jcenter() 5 | //maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /spring-ee/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /spring-ee/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-ee/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring-ee/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /spring-ee/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'spring-ee' 3 | include 'docs' 4 | -------------------------------------------------------------------------------- /spring-ee/src/main/java/daggerok/App.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import javax.enterprise.context.ApplicationScoped; 4 | import javax.ws.rs.ApplicationPath; 5 | import javax.ws.rs.core.Application; 6 | 7 | @ApplicationScoped 8 | @ApplicationPath("") 9 | public class App extends Application {} 10 | -------------------------------------------------------------------------------- /spring-ee/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /spring-ee/src/test/java/daggerok/AppJUnit4Test.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.hamcrest.MatcherAssert.assertThat; 6 | import static org.hamcrest.core.Is.is; 7 | 8 | public class AppJUnit4Test { 9 | 10 | @Test 11 | public void testPositive() { 12 | assertThat(true, is(true)); 13 | } 14 | 15 | @Test(expected = AssertionError.class) 16 | public void testNegative() { 17 | assertThat(false, is(true)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /spring-integration-5-example/README.adoc: -------------------------------------------------------------------------------- 1 | = spring-integration-5-example image:https://travis-ci.org/daggerok/spring-5-examples.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/spring-5-examples"] 2 | 3 | this repository is containing simple spring-integration 5 example 4 | 5 | ==== build, run, test 6 | 7 | [source,bash] 8 | ---- 9 | bash gradle clean build bootRun 10 | http :8080/sse 11 | # output: 12 | data:foo 13 | 14 | data:bar 15 | 16 | data:baz 17 | ---- 18 | -------------------------------------------------------------------------------- /spring-integration-5-example/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-integration-5-example/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring-integration-5-example/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /spring-integration-5-example/src/main/java/daggerok/SpringIntegration5ExampleApplication.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringIntegration5ExampleApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringIntegration5ExampleApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /spring-shell/.gitignore: -------------------------------------------------------------------------------- 1 | out/ 2 | .DS_Store 3 | .gradle 4 | *.log 5 | 6 | ### STS ### 7 | .apt_generated 8 | .classpath 9 | .factorypath 10 | .project 11 | .settings 12 | .springBeans 13 | 14 | ### IntelliJ IDEA ### 15 | .idea 16 | *.iws 17 | *.iml 18 | *.ipr 19 | 20 | ### NetBeans ### 21 | nbproject/private/ 22 | build/ 23 | nbbuild/ 24 | dist/ 25 | nbdist/ 26 | .nb-gradle/ 27 | -------------------------------------------------------------------------------- /spring-shell/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/spring-shell/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring-shell/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /spring-shell/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /springdoc-openapi-webflux/.java-version: -------------------------------------------------------------------------------- 1 | 11.0 2 | -------------------------------------------------------------------------------- /springdoc-openapi-webflux/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /springdoc-openapi-webflux/src/main/resources/templates/non-nullable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Non Nullable 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /springdoc-openapi-webflux/src/main/resources/templates/nullable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Nullable 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /springdoc-openapi-webflux/src/main/resources/templates/optional.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Optional 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /springdoc-openapi-webflux/src/test/java/com/example/optionalmvcpathvariable/OptionalMvcPathVariableApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.optionalmvcpathvariable; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class OptionalMvcPathVariableApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /springdoc-openapi/.java-version: -------------------------------------------------------------------------------- 1 | 11.0 2 | -------------------------------------------------------------------------------- /springdoc-openapi/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /springdoc-openapi/src/main/resources/templates/non-nullable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Non Nullable 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /springdoc-openapi/src/main/resources/templates/nullable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Nullable 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /springdoc-openapi/src/main/resources/templates/optional.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Optional 6 | 7 | 8 |

Hello, [[${identifier}]]!

9 | 10 | 11 | -------------------------------------------------------------------------------- /springdoc-openapi/src/test/java/com/example/optionalmvcpathvariable/OptionalMvcPathVariableApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.optionalmvcpathvariable; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class OptionalMvcPathVariableApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /thymeleaf-webflux/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /thymeleaf-webflux/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /thymeleaf-webflux/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/thymeleaf-webflux/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /thymeleaf-webflux/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /thymeleaf-webflux/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | gradle-thymeleaf-webflux-app: 6 | build: 7 | context: ./reactive-thymeleaf 8 | dockerfile: ./gradle/Dockerfile 9 | volumes: ["gradle-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | 13 | volumes: 14 | gradle-app-data: {} 15 | 16 | networks: 17 | backing-services: 18 | driver: bridge 19 | -------------------------------------------------------------------------------- /thymeleaf-webflux/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | maven-thymeleaf-webflux-app: 6 | build: 7 | context: ./reactive-thymeleaf 8 | dockerfile: ./.mvn/Dockerfile 9 | volumes: ["maven-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | 13 | volumes: 14 | maven-app-data: {} 15 | 16 | networks: 17 | backing-services: 18 | driver: bridge 19 | -------------------------------------------------------------------------------- /thymeleaf-webflux/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/thymeleaf-webflux/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /thymeleaf-webflux/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /thymeleaf-webflux/reactive-thymeleaf/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | spring.mvc.favicon.enabled=false 3 | #spring.thymeleaf.reactive.max-chunk-size=8192 4 | #spring.thymeleaf.check-template=false 5 | #spring.thymeleaf.mode=HTML 6 | -------------------------------------------------------------------------------- /thymeleaf-webflux/reactive-thymeleaf/src/main/resources/messages.properties: -------------------------------------------------------------------------------- 1 | APP_HEADER=Oh my thymeleaf... 2 | -------------------------------------------------------------------------------- /thymeleaf-webflux/reactive-thymeleaf/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/thymeleaf-webflux/reactive-thymeleaf/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /thymeleaf-webflux/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'thymeleaf-webflux' 3 | include 'reactive-thymeleaf' 4 | -------------------------------------------------------------------------------- /voting-app/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | build 4 | target 5 | out 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log* 11 | .DS_Store 12 | Thumbs.db 13 | /public/ 14 | ./leveldb-* 15 | -------------------------------------------------------------------------------- /voting-app/.mvn/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM daggerok/jboss:eap-7.1 2 | RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \"" >> ${JBOSS_HOME}/bin/standalone.conf 3 | EXPOSE 5005 4 | ADD ./target/*.war ${JBOSS_HOME}/standalone/deployments/app.war 5 | -------------------------------------------------------------------------------- /voting-app/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/voting-app/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /voting-app/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip -------------------------------------------------------------------------------- /voting-app/docker/Dockerfile.rabbitmq: -------------------------------------------------------------------------------- 1 | FROM healthcheck/rabbitmq:alpine 2 | MAINTAINER Maksim Kostromin 3 | RUN rabbitmq-plugins enable rabbitmq_management rabbitmq_stomp --offline 4 | EXPOSE 5672 15672 5 | -------------------------------------------------------------------------------- /voting-app/docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/voting-app/docs/favicon.ico -------------------------------------------------------------------------------- /voting-app/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | #org.gradle.console=rich 3 | org.gradle.console=plain 4 | #org.gradle.console=verbose 5 | 6 | ## artifactory 7 | artifactory_user=admin 8 | #artifactory_password=password 9 | artifactory_password=AP2bD5A6qnanPtXbRqeDAitPeAh 10 | artifactory_contextUrl=http://127.0.0.1/artifactory 11 | -------------------------------------------------------------------------------- /voting-app/gradle/base.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | 3 | apply plugin: 'base' 4 | apply plugin: 'maven' 5 | 6 | version = '0.0.1' 7 | group = 'com.github.daggerok' 8 | 9 | defaultTasks 'clean', 'build' 10 | } 11 | -------------------------------------------------------------------------------- /voting-app/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() // for some reasons code source not attaching with this mavenLocal repository enabled in idea... 3 | mavenCentral() 4 | jcenter() 5 | //maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /voting-app/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /voting-app/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/voting-app/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /voting-app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /voting-app/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'voting-app' 3 | include 'docs' 4 | include 'voting-service' 5 | include 'streaming-service' 6 | -------------------------------------------------------------------------------- /voting-app/streaming-service/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() 3 | mavenCentral() 4 | jcenter() 5 | maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /voting-app/streaming-service/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /voting-app/streaming-service/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /voting-app/streaming-service/src/main/resources/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | mvc: 6 | favicon: 7 | enabled: false 8 | -------------------------------------------------------------------------------- /voting-app/streaming-service/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /voting-app/streaming-service/src/main/resources/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/voting-app/streaming-service/src/main/resources/public/favicon.ico -------------------------------------------------------------------------------- /voting-app/streaming-service/src/test/java/daggerok/AppJUnit4Test.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.hamcrest.MatcherAssert.assertThat; 6 | import static org.hamcrest.core.Is.is; 7 | 8 | public class AppJUnit4Test { 9 | 10 | @Test 11 | public void testPositive() { 12 | assertThat(true, is(true)); 13 | } 14 | 15 | @Test(expected = AssertionError.class) 16 | public void testNegative() { 17 | assertThat(false, is(true)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /voting-app/streaming-service/src/test/kotlin/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | class AppTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /voting-app/voting-service/gradle/repositories-config.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | //mavenLocal() 3 | mavenCentral() 4 | jcenter() 5 | maven { url 'https://repo.spring.io/libs-milestone' } 6 | } 7 | -------------------------------------------------------------------------------- /voting-app/voting-service/gradle/repositories.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | buildscript { 3 | apply from: "$rootDir/gradle/repositories-config.gradle" 4 | } 5 | apply from: "$rootDir/gradle/repositories-config.gradle" 6 | } 7 | -------------------------------------------------------------------------------- /voting-app/voting-service/src/main/java/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.var.flagUsage = ALLOW 2 | -------------------------------------------------------------------------------- /voting-app/voting-service/src/main/resources/application-spring-boot.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | output: 3 | ansi: 4 | enabled: always 5 | mvc: 6 | favicon: 7 | enabled: false 8 | -------------------------------------------------------------------------------- /voting-app/voting-service/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | include: 4 | - spring-boot 5 | -------------------------------------------------------------------------------- /voting-app/voting-service/src/main/resources/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/voting-app/voting-service/src/main/resources/public/favicon.ico -------------------------------------------------------------------------------- /voting-app/voting-service/src/test/java/daggerok/AppJUnit4Test.java: -------------------------------------------------------------------------------- 1 | package daggerok; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.hamcrest.MatcherAssert.assertThat; 6 | import static org.hamcrest.core.Is.is; 7 | 8 | public class AppJUnit4Test { 9 | 10 | @Test 11 | public void testPositive() { 12 | assertThat(true, is(true)); 13 | } 14 | 15 | @Test(expected = AssertionError.class) 16 | public void testNegative() { 17 | assertThat(false, is(true)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /voting-app/voting-service/src/test/kotlin/AppTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | class AppTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /webflux-static-content/README.adoc: -------------------------------------------------------------------------------- 1 | = webflux-static-content image:https://travis-ci.org/daggerok/webflux-static-content.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/webflux-static-content"] 2 | 3 | link:../../../../webflux-static-content/[go to repo] 4 | -------------------------------------------------------------------------------- /xml-wtf/.gitignore: -------------------------------------------------------------------------------- 1 | .hg 2 | .gradle 3 | out 4 | build 5 | target 6 | .idea 7 | *.iml 8 | *.ipr 9 | *.iws 10 | *.log 11 | .DS_Store 12 | -------------------------------------------------------------------------------- /xml-wtf/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | ^.gradle/* 3 | .idea/* 4 | .git/* 5 | */out/* 6 | */build/* 7 | */target/* 8 | .DS_Store 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.log 13 | -------------------------------------------------------------------------------- /xml-wtf/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/xml-wtf/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /xml-wtf/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /xml-wtf/docker-compose-gradle.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | gradle-xml-wtf-app: 6 | build: 7 | context: ./kotlin-xml 8 | dockerfile: ./gradle/Dockerfile 9 | volumes: ["gradle-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | restart: unless-stopped 13 | 14 | volumes: 15 | gradle-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /xml-wtf/docker-compose-maven.yaml: -------------------------------------------------------------------------------- 1 | version: "2.1" 2 | 3 | services: 4 | 5 | maven-xml-wtf-app: 6 | build: 7 | context: ./kotlin-xml 8 | dockerfile: ./.mvn/Dockerfile 9 | volumes: ["maven-app-data:/home/appuser"] 10 | networks: [backing-services] 11 | ports: ["8080:8080"] 12 | restart: unless-stopped 13 | 14 | volumes: 15 | maven-app-data: {} 16 | 17 | networks: 18 | backing-services: 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /xml-wtf/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/xml-wtf/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /xml-wtf/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /xml-wtf/kotlin-xml/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/xml-wtf/kotlin-xml/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /xml-wtf/kotlin-xml/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /xml-wtf/kotlin-xml/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/daggerok/spring-5-examples/11340b9fe8b0b53445d7ed869d409d378999e334/xml-wtf/kotlin-xml/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /xml-wtf/kotlin-xml/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip 6 | -------------------------------------------------------------------------------- /xml-wtf/kotlin-xml/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.output.ansi.enabled=always 2 | -------------------------------------------------------------------------------- /xml-wtf/kotlin-xml/src/test/kotlin/daggerok/KotlinXmlApplicationTests.kt: -------------------------------------------------------------------------------- 1 | package daggerok 2 | 3 | import org.junit.Test 4 | import org.junit.runner.RunWith 5 | import org.springframework.boot.test.context.SpringBootTest 6 | import org.springframework.test.context.junit4.SpringRunner 7 | 8 | @RunWith(SpringRunner::class) 9 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 10 | class KotlinXmlApplicationTests { 11 | 12 | @Test 13 | fun contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /xml-wtf/settings.gradle: -------------------------------------------------------------------------------- 1 | enableFeaturePreview 'STABLE_PUBLISHING' 2 | rootProject.name = 'xml-wtf' 3 | include 'kotlin-xml' 4 | --------------------------------------------------------------------------------