From 7b77ee986afcd455ba9428a4b5a62b1806b02530 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Tue, 26 Nov 2024 11:44:26 +0000 Subject: [PATCH 01/17] Replace Wiremock standalone with Spring Cloud Contract Wiremock - Integrated Spring Cloud Contract Wiremock for improved Spring Boot compatibility - Implemented dynamic stub port assignment for more flexible test configurations - Enhanced test stability by leveraging Spring Boot's auto-configuration features - Simplified test setup and reduced potential port conflicts in CI/CD pipelines --- build.gradle.kts | 9 ++++++-- buildSrc/build.gradle.kts | 1 - ...auditor.application-conventions.gradle.kts | 4 ++-- .../auditor.java-conventions.gradle.kts | 21 +++++++++++++++---- .../auditor.library-conventions.gradle.kts | 2 +- .../feign/OutboundFeignIntegrationTests.java | 7 ++++--- .../OutboundRestTemplateIntegrationTests.java | 7 ++++--- .../OutboundFeignIntegrationTests/success.sql | 2 +- .../success.sql | 2 +- gradle/libs.versions.toml | 6 +++--- 10 files changed, 40 insertions(+), 21 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 0c4a57e..0ab840f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,7 +20,6 @@ It facilitates debugging, compliance, and security analysis by offering detailed """.trimIndent() repositories { - mavenLocal() mavenCentral() } @@ -53,12 +52,18 @@ sonar { } val exportedProjects = listOf( - ":auditor.core", ":auditor.inbound", ":auditor.outbound", ":auditor.outbound.feign", ":auditor.cleanup", ":auditor.starter" + ":auditor.core", ":auditor.inbound", ":auditor.outbound", ":auditor.starter", + ":auditor.outbound.feign", ":auditor.cleanup", ) val aggregatedJavadocDir = layout.buildDirectory.dir("docs/javadoc").get() val stagingRepository = layout.buildDirectory.dir("staging-deploy").get() tasks { + check { + dependsOn(named("testAggregateTestReport")) + dependsOn(named("testCodeCoverageReport")) + } + withType() { dependsOn(named("testAggregateTestReport")) dependsOn(named("testCodeCoverageReport")) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 0691d13..d3b3508 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -4,7 +4,6 @@ plugins { repositories { gradlePluginPortal() - mavenLocal() mavenCentral() } diff --git a/buildSrc/src/main/kotlin/auditor.application-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.application-conventions.gradle.kts index 0e8c14b..4171a7b 100644 --- a/buildSrc/src/main/kotlin/auditor.application-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.application-conventions.gradle.kts @@ -19,14 +19,14 @@ dependencies { implementation(libs.spring.boot.starter.web) implementation(libs.spring.boot.starter.data.jpa) implementation(libs.spring.cloud.starter.openfeign) - implementation(libs.micrometer.brave) + implementation(libs.micrometer.brave) implementation(libs.h2) testImplementation(libs.spring.boot.starter.test) testImplementation(libs.java.diff) - testImplementation(libs.wiremock) testImplementation(libs.rest.assured) testImplementation(libs.assertj) testImplementation(libs.awaitility) + testImplementation(libs.spring.cloud.starter.contract.stub.runner) } diff --git a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts index 265c35f..1668369 100644 --- a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts @@ -1,3 +1,5 @@ +import com.github.spotbugs.snom.Confidence +import com.github.spotbugs.snom.Effort import com.github.spotbugs.snom.SpotBugsTask import org.gradle.accessors.dm.LibrariesForLibs @@ -12,7 +14,6 @@ plugins { } repositories { - mavenLocal() mavenCentral() } @@ -22,7 +23,7 @@ dependencies { testCompileOnly(libs.lombok) testAnnotationProcessor(libs.lombok) - implementation(libs.sl4j.api) + implementation(libs.slf4j.api) testImplementation(libs.junit.jupiter) testImplementation(libs.mockito.junit.core) @@ -76,7 +77,6 @@ tasks { test { maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).takeIf { it > 0 } ?: 1 - forkEvery = 100 useJUnitPlatform() @@ -84,13 +84,23 @@ tasks { } jacocoTestReport { - dependsOn(tasks.test) + dependsOn(test) reports { xml.required = true html.required = true } } + jacocoTestCoverageVerification { + violationRules { + rule { + limit { + minimum = "0.80".toBigDecimal() + } + } + } + } + withType().configureEach { reports { html.required = true @@ -98,6 +108,9 @@ tasks { } withType().configureEach { + effort = Effort.MAX + reportLevel = Confidence.HIGH + reports { create("html") { enabled = true diff --git a/buildSrc/src/main/kotlin/auditor.library-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.library-conventions.gradle.kts index 8a243a1..96f5fdb 100644 --- a/buildSrc/src/main/kotlin/auditor.library-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.library-conventions.gradle.kts @@ -78,7 +78,7 @@ publishing { } tasks { - withType { + withType().configureEach { options.compilerArgs.add("-implicit:class") } } \ No newline at end of file diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/OutboundFeignIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/OutboundFeignIntegrationTests.java index 7b850b6..3cd20d5 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/OutboundFeignIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/OutboundFeignIntegrationTests.java @@ -8,7 +8,6 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static io.github.tkaczenko.auditor.demo.util.FileUtils.readSystemResource; -import com.github.tomakehurst.wiremock.junit5.WireMockTest; import io.github.tkaczenko.auditor.demo.AbstractIntegrationTest; import io.github.tkaczenko.auditor.demo.IntegrationTestScenario; import io.github.tkaczenko.auditor.demo.config.PropertiesConfig.FeignClientProperties; @@ -22,19 +21,21 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; +import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.jdbc.Sql; import org.springframework.transaction.annotation.Transactional; @Transactional -@WireMockTest(httpPort = OutboundFeignIntegrationTests.WIREMOCK_PORT) +@AutoConfigureWireMock(port = 0) +@TestPropertySource(properties = "feign.url=http://localhost:${wiremock.server.port}/feign") @DisplayName("OutboundFeignIntegrationTests " + OutboundFeignIntegrationTests.TEST_URL + " ") public class OutboundFeignIntegrationTests extends AbstractIntegrationTest { public static final String TEST_URL = "/test/outbound/feign"; - public static final int WIREMOCK_PORT = 9562; @Autowired private FeignClientProperties feignClientProperties; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/resttemplate/OutboundRestTemplateIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/resttemplate/OutboundRestTemplateIntegrationTests.java index 6227708..a0ad85c 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/resttemplate/OutboundRestTemplateIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/resttemplate/OutboundRestTemplateIntegrationTests.java @@ -9,7 +9,6 @@ import static io.github.tkaczenko.auditor.demo.util.Files.Inbound; import static io.github.tkaczenko.auditor.demo.util.Files.Outbound.RestTemplate; -import com.github.tomakehurst.wiremock.junit5.WireMockTest; import io.github.tkaczenko.auditor.demo.AbstractIntegrationTest; import io.github.tkaczenko.auditor.demo.IntegrationTestScenario; import io.github.tkaczenko.auditor.demo.config.PropertiesConfig.DemoClientProperties; @@ -21,20 +20,22 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; +import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.jdbc.Sql; import org.springframework.transaction.annotation.Transactional; @Transactional -@WireMockTest(httpPort = OutboundRestTemplateIntegrationTests.WIREMOCK_PORT) +@AutoConfigureWireMock(port = 0) +@TestPropertySource(properties = "demo-client.url=http://localhost:${wiremock.server.port}/demo-client") @DisplayName( "OutboundRestTemplateIntegrationTests " + OutboundRestTemplateIntegrationTests.TEST_URL + " ") public class OutboundRestTemplateIntegrationTests extends AbstractIntegrationTest { public static final String TEST_URL = "/test/outbound/restTemplate"; - public static final int WIREMOCK_PORT = 9561; @Autowired private DemoClientProperties demoClientProperties; diff --git a/demo/src/test/resources/OutboundFeignIntegrationTests/success.sql b/demo/src/test/resources/OutboundFeignIntegrationTests/success.sql index 96937a0..2c85eef 100644 --- a/demo/src/test/resources/OutboundFeignIntegrationTests/success.sql +++ b/demo/src/test/resources/OutboundFeignIntegrationTests/success.sql @@ -15,7 +15,7 @@ values ('2024-06-13 17:00', null, 200, 'transactionId4', 'trace_id', '{"Content-Type":["application/json"],"Content-Length":["46"]}', 'POST', '{"feignResponseTransactionId":"feignResponseTransaction1"}', - '{"matched-stub-id":["0602d6b3-589e-4658-ae93-b9ed723a0562"],"content-type":["application/json"],"transfer-encoding":["chunked"]}', + '{"matched-stub-id":["0602d6b3-589e-4658-ae93-b9ed723a0562"],"content-type":["application/json"],"transfer-encoding":["chunked"],"vary":["Accept-Encoding, User-Agent"]}', 333, null, '/feign', default); diff --git a/demo/src/test/resources/OutboundRestTemplateIntegrationTests/success.sql b/demo/src/test/resources/OutboundRestTemplateIntegrationTests/success.sql index bb69914..7be1089 100644 --- a/demo/src/test/resources/OutboundRestTemplateIntegrationTests/success.sql +++ b/demo/src/test/resources/OutboundRestTemplateIntegrationTests/success.sql @@ -15,7 +15,7 @@ values ('2024-06-13 17:00', null, 200, 'transactionId2', 'trace_id', '{"Authorization":["Basic Y2xpZW50SWQ6Y2xpZW50U2VjcmV0"],"Accept":["application/json, application/*+json"],"Content-Length":["0"]}', 'GET', '{"restTemplateResponseTransactionId":"restTemplateResponseTransaction1"}', - '{"Content-Type":["application/json"],"Matched-Stub-Id":["847eb090-6df5-409b-904a-d494504d3af7"],"Transfer-Encoding":["chunked"]}', + '{"Content-Type":["application/json"],"Matched-Stub-Id":["847eb090-6df5-409b-904a-d494504d3af7"],"Transfer-Encoding":["chunked"],"Vary":["Accept-Encoding, User-Agent"]}', 333, null, '/demo-client', default); diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f8b6bef..34ea7ac 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,7 @@ shedlock-spring = "4.29.0" assertj = "3.26.0" awaitility = "4.2.1" micrometer-brave = "1.2.5" -sl4j-api = "2.0.13" +slf4j-api = "2.0.13" jreleaser_plugin = "1.14.0" [libraries] @@ -34,17 +34,17 @@ spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-start spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" } spring-boot-starter-data-jpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa" } spring-cloud-starter-openfeign = { module = "org.springframework.cloud:spring-cloud-starter-openfeign" } +spring-cloud-starter-contract-stub-runner = { module = "org.springframework.cloud:spring-cloud-starter-contract-stub-runner" } spotbugs-gradle-plugin = { module = "com.github.spotbugs.snom:spotbugs-gradle-plugin", version.ref = "spotbugs_plugin" } java-diff = { module = "de.danielbechler:java-object-diff", version.ref = "java-diff" } h2 = { module = "com.h2database:h2", version.ref = "h2" } -wiremock = { module = "org.wiremock:wiremock", version.ref = "wiremock" } rest-assured = { module = "io.rest-assured:rest-assured", version.ref = "rest-assured" } shedlock-spring = { module = "net.javacrumbs.shedlock:shedlock-spring", version.ref = "shedlock-spring" } shedlock-provider-jdbc = { module = "net.javacrumbs.shedlock:shedlock-provider-jdbc-template", version.ref = "shedlock-spring" } assertj = { module = "org.assertj:assertj-core", version.ref = "assertj" } awaitility = { module = "org.awaitility:awaitility", version.ref = "awaitility" } micrometer-brave = { module = "io.micrometer:micrometer-tracing-bridge-brave", version.ref = "micrometer-brave" } -sl4j-api = { module = "org.slf4j:slf4j-api", version.ref = "sl4j-api" } +slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j-api" } [plugins] jreleaser = { id = "org.jreleaser", version.ref = "jreleaser_plugin" } From ff1465736b4961ce004bdbdb03d0ecbd89675774 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Tue, 26 Nov 2024 14:04:49 +0000 Subject: [PATCH 02/17] Reorganized structure of auditor.core --- .../cleanup/service/CleanupScheduler.java | 4 +- .../auditor/core/{ => api}/Auditable.java | 2 +- .../auditor/core/api/package-info.java | 5 ++ .../core/{ => api/reader}/HttpReader.java | 2 +- .../{ => api/reader/body}/BodyHttpReader.java | 3 +- .../reader/headers}/HeadersHttpReader.java | 3 +- .../{service => internal}/AuditFacade.java | 26 ++++++---- .../dto/AuditRequestResponseDto.java | 2 +- .../{model => internal}/dto/package-info.java | 2 +- .../entity}/AuditRequestResponse.java | 2 +- .../entity}/package-info.java | 2 +- .../factory}/HttpReaderFactory.java | 4 +- .../factory/body}/BodyHttpReaderService.java | 6 +-- .../headers}/HeadersHttpReaderService.java | 6 +-- .../core/internal/factory/package-info.java | 8 +++ .../AuditRequestResponseRepository.java | 4 +- .../repository/EntitySupplier.java | 2 +- .../repository/package-info.java | 2 +- .../service/AuditDateTimeProvider.java | 2 +- .../{ => internal}/service/AuditService.java | 8 +-- ...readLocalAuditRequestResponseContext.java} | 13 ++--- .../{ => internal}/service/package-info.java | 2 +- .../core/service/reader/package-info.java | 8 --- auditor.core/src/main/java/module-info.java | 17 ++++-- .../AuditFacadeTest.java | 10 ++-- .../entity}/AuditRecord.java | 2 +- .../factory}/HttpReaderFactoryTest.java | 4 +- .../factory/body}/BodyReaderServiceTest.java | 4 +- .../headers}/HeadersReaderServiceTest.java | 4 +- .../repository/AuditRecordRepository.java | 4 +- .../repository/EntitySupplierTest.java | 8 +-- .../service/AuditDateTimeProviderTest.java | 2 +- ...dLocalAuditRequestResponseContextTest.java | 52 +++++++++++++++++++ .../AuditRequestResponseContextTest.java | 48 ----------------- .../inbound/AuditInboundRequestFilter.java | 14 ++--- .../reader/InboundRequestBodyHttpReader.java | 2 +- .../InboundRequestHeadersHttpReader.java | 2 +- .../reader/InboundResponseBodyHttpReader.java | 2 +- .../InboundResponseHeadersHttpReader.java | 2 +- .../auditor/inbound/reader/package-info.java | 2 +- .../AuditInboundAuditRequestFilterTest.java | 8 +-- .../feign/FeignAuditRequestLogger.java | 8 +-- .../reader/FeignRequestBodyHttpReader.java | 2 +- .../reader/FeignRequestHeadersHttpReader.java | 2 +- .../reader/FeignResponseBodyHttpReader.java | 2 +- .../FeignResponseHeadersHttpReader.java | 2 +- .../outbound/feign/reader/package-info.java | 2 +- .../aspect/AuditedOutboundCallAspect.java | 6 +-- ...tOutboundRequestInterceptorWithAspect.java | 8 +-- .../RestTemplateRequestBodyHttpReader.java | 2 +- .../RestTemplateRequestHeadersHttpReader.java | 2 +- .../RestTemplateResponseBodyHttpReader.java | 2 +- ...RestTemplateResponseHeadersHttpReader.java | 2 +- .../resttemplate/reader/package-info.java | 2 +- .../auditor/demo/model/AuditRecord.java | 2 +- .../repository/AuditRecordRepository.java | 2 +- .../DemoControllerAuditRequestFilter.java | 8 +-- ...boundRequestInterceptorWithAspectTest.java | 8 +-- 58 files changed, 198 insertions(+), 169 deletions(-) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => api}/Auditable.java (88%) create mode 100644 auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/package-info.java rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => api/reader}/HttpReader.java (86%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => api/reader/body}/BodyHttpReader.java (92%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => api/reader/headers}/HeadersHttpReader.java (93%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{service => internal}/AuditFacade.java (78%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{model => internal}/dto/AuditRequestResponseDto.java (96%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{model => internal}/dto/package-info.java (82%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{model => internal/entity}/AuditRequestResponse.java (98%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{model => internal/entity}/package-info.java (82%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{service => internal/factory}/HttpReaderFactory.java (95%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{service/reader => internal/factory/body}/BodyHttpReaderService.java (83%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{service/reader => internal/factory/headers}/HeadersHttpReaderService.java (88%) create mode 100644 auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/package-info.java rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => internal}/repository/AuditRequestResponseRepository.java (83%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => internal}/repository/EntitySupplier.java (98%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => internal}/repository/package-info.java (78%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => internal}/service/AuditDateTimeProvider.java (95%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => internal}/service/AuditService.java (90%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{service/AuditRequestContext.java => internal/service/ThreadLocalAuditRequestResponseContext.java} (83%) rename auditor.core/src/main/java/io/github/tkaczenko/auditor/core/{ => internal}/service/package-info.java (70%) delete mode 100644 auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/package-info.java rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{service => internal}/AuditFacadeTest.java (86%) rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{model => internal/entity}/AuditRecord.java (89%) rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{service => internal/factory}/HttpReaderFactoryTest.java (81%) rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{service/reader => internal/factory/body}/BodyReaderServiceTest.java (88%) rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{service/reader => internal/factory/headers}/HeadersReaderServiceTest.java (90%) rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{ => internal}/repository/AuditRecordRepository.java (54%) rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{ => internal}/repository/EntitySupplierTest.java (89%) rename auditor.core/src/test/java/io/github/tkaczenko/auditor/core/{ => internal}/service/AuditDateTimeProviderTest.java (90%) create mode 100644 auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/service/ThreadLocalAuditRequestResponseContextTest.java delete mode 100644 auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditRequestResponseContextTest.java diff --git a/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/CleanupScheduler.java b/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/CleanupScheduler.java index 6ac45c1..f1a957d 100644 --- a/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/CleanupScheduler.java +++ b/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/CleanupScheduler.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.cleanup.service; -import io.github.tkaczenko.auditor.core.model.AuditRequestResponse; -import io.github.tkaczenko.auditor.core.repository.AuditRequestResponseRepository; +import io.github.tkaczenko.auditor.core.internal.entity.AuditRequestResponse; +import io.github.tkaczenko.auditor.core.internal.repository.AuditRequestResponseRepository; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.javacrumbs.shedlock.spring.annotation.SchedulerLock; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/Auditable.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/Auditable.java similarity index 88% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/Auditable.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/Auditable.java index 4564520..446895a 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/Auditable.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/Auditable.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core; +package io.github.tkaczenko.auditor.core.api; /** Provides methods to determine the execution of a specific request. */ public interface Auditable { diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/package-info.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/package-info.java new file mode 100644 index 0000000..d85c0d7 --- /dev/null +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/package-info.java @@ -0,0 +1,5 @@ +/** + * Provides the core functionality for the Auditor. + * This package contains classes/interfaces exposed to library users. + */ +package io.github.tkaczenko.auditor.core.api; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/HttpReader.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/HttpReader.java similarity index 86% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/HttpReader.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/HttpReader.java index cd4fc54..f206c5b 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/HttpReader.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/HttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core; +package io.github.tkaczenko.auditor.core.api.reader; /** * Provides an interface for reading and processing HTTP data. diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/BodyHttpReader.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/body/BodyHttpReader.java similarity index 92% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/BodyHttpReader.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/body/BodyHttpReader.java index 0a24877..5874832 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/BodyHttpReader.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/body/BodyHttpReader.java @@ -1,5 +1,6 @@ -package io.github.tkaczenko.auditor.core; +package io.github.tkaczenko.auditor.core.api.reader.body; +import io.github.tkaczenko.auditor.core.api.reader.HttpReader; import java.io.InputStream; import java.nio.charset.Charset; import lombok.SneakyThrows; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/HeadersHttpReader.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/headers/HeadersHttpReader.java similarity index 93% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/HeadersHttpReader.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/headers/HeadersHttpReader.java index d4574ba..d055471 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/HeadersHttpReader.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/api/reader/headers/HeadersHttpReader.java @@ -1,5 +1,6 @@ -package io.github.tkaczenko.auditor.core; +package io.github.tkaczenko.auditor.core.api.reader.headers; +import io.github.tkaczenko.auditor.core.api.reader.HttpReader; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditFacade.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/AuditFacade.java similarity index 78% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditFacade.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/AuditFacade.java index 4e2bf0d..4a6e2c2 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditFacade.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/AuditFacade.java @@ -1,6 +1,8 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal; -import io.github.tkaczenko.auditor.core.model.dto.AuditRequestResponseDto; +import io.github.tkaczenko.auditor.core.internal.dto.AuditRequestResponseDto; +import io.github.tkaczenko.auditor.core.internal.service.AuditService; +import io.github.tkaczenko.auditor.core.internal.service.ThreadLocalAuditRequestResponseContext; import java.time.LocalDateTime; import java.util.Optional; import lombok.Builder; @@ -28,8 +30,10 @@ public class AuditFacade { */ public void setRequest(AuditRequest auditRequest) { var auditRequestBuilder = - Optional.ofNullable(AuditRequestContext.getAuditRequestResponseBuilderThreadLocal()) - .orElseGet(AuditRequestContext::initializeAuditRequestBuilderThreadLocal); + Optional.ofNullable( + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal()) + .orElseGet( + ThreadLocalAuditRequestResponseContext::initializeAuditRequestBuilderThreadLocal); auditRequestBuilder .createDateTime(auditRequest.createDateTime) @@ -39,7 +43,8 @@ public void setRequest(AuditRequest auditRequest) { .requestBody(auditRequest.requestBody) .remoteAddress(auditRequest.remoteAddress); - AuditRequestContext.setAuditRequestResponseBuilderThreadLocal(auditRequestBuilder); + ThreadLocalAuditRequestResponseContext.setAuditRequestResponseBuilderThreadLocal( + auditRequestBuilder); } /** @@ -50,7 +55,8 @@ public void setRequest(AuditRequest auditRequest) { * @param auditResponse the audit response object containing the necessary details */ public void setResponse(AuditResponse auditResponse) { - var auditRequestBuilder = AuditRequestContext.getAuditRequestResponseBuilderThreadLocal(); + var auditRequestBuilder = + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal(); auditRequestBuilder .error(auditResponse.error()) @@ -59,7 +65,8 @@ public void setResponse(AuditResponse auditResponse) { .responseBody(auditResponse.responseBody()) .spendTimeInMs(auditResponse.callDurationMillis()); - AuditRequestContext.setAuditRequestResponseBuilderThreadLocal(auditRequestBuilder); + ThreadLocalAuditRequestResponseContext.setAuditRequestResponseBuilderThreadLocal( + auditRequestBuilder); } /** @@ -70,7 +77,8 @@ public void setResponse(AuditResponse auditResponse) { * @param requestType the type of request, e.g., "GET_REPORT", "POST_TRANSACTION", etc. */ public void save(String error, String provider, String requestType) { - var auditRequestBuilder = AuditRequestContext.getAuditRequestResponseBuilderThreadLocal(); + var auditRequestBuilder = + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal(); AuditRequestResponseDto dto = auditRequestBuilder.provider(provider).requestType(requestType).build(); @@ -87,7 +95,7 @@ public void save(String error, String provider, String requestType) { } auditService.save(dto); - AuditRequestContext.initializeAuditRequestBuilderThreadLocal(); + ThreadLocalAuditRequestResponseContext.initializeAuditRequestBuilderThreadLocal(); } /** diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/dto/AuditRequestResponseDto.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/dto/AuditRequestResponseDto.java similarity index 96% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/dto/AuditRequestResponseDto.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/dto/AuditRequestResponseDto.java index eb7232c..0b84024 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/dto/AuditRequestResponseDto.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/dto/AuditRequestResponseDto.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core.model.dto; +package io.github.tkaczenko.auditor.core.internal.dto; import java.time.LocalDateTime; import lombok.Builder; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/dto/package-info.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/dto/package-info.java similarity index 82% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/dto/package-info.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/dto/package-info.java index 24f3555..92f3996 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/dto/package-info.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/dto/package-info.java @@ -3,4 +3,4 @@ * used in the auditor core module. DTOs are used to transfer data between different layers of the * application, such as the controller and the service layer. */ -package io.github.tkaczenko.auditor.core.model.dto; +package io.github.tkaczenko.auditor.core.internal.dto; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/AuditRequestResponse.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/entity/AuditRequestResponse.java similarity index 98% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/AuditRequestResponse.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/entity/AuditRequestResponse.java index 006bb32..2125eb2 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/AuditRequestResponse.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/entity/AuditRequestResponse.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core.model; +package io.github.tkaczenko.auditor.core.internal.entity; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import jakarta.persistence.Column; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/package-info.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/entity/package-info.java similarity index 82% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/package-info.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/entity/package-info.java index dbd8c61..302f3d0 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/model/package-info.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/entity/package-info.java @@ -3,4 +3,4 @@ * represent the main entities and data structures used throughout the application. This package * includes classes for managing audit logs, and other core functionality. */ -package io.github.tkaczenko.auditor.core.model; +package io.github.tkaczenko.auditor.core.internal.entity; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/HttpReaderFactory.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/HttpReaderFactory.java similarity index 95% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/HttpReaderFactory.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/HttpReaderFactory.java index e9c3b2b..8988ba2 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/HttpReaderFactory.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/HttpReaderFactory.java @@ -1,6 +1,6 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal.factory; -import io.github.tkaczenko.auditor.core.HttpReader; +import io.github.tkaczenko.auditor.core.api.reader.HttpReader; import java.util.List; import java.util.Map; import java.util.Optional; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/BodyHttpReaderService.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/body/BodyHttpReaderService.java similarity index 83% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/BodyHttpReaderService.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/body/BodyHttpReaderService.java index 68c2cb0..904c232 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/BodyHttpReaderService.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/body/BodyHttpReaderService.java @@ -1,7 +1,7 @@ -package io.github.tkaczenko.auditor.core.service.reader; +package io.github.tkaczenko.auditor.core.internal.factory.body; -import io.github.tkaczenko.auditor.core.BodyHttpReader; -import io.github.tkaczenko.auditor.core.service.HttpReaderFactory; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; +import io.github.tkaczenko.auditor.core.internal.factory.HttpReaderFactory; import java.util.List; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/HeadersHttpReaderService.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/headers/HeadersHttpReaderService.java similarity index 88% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/HeadersHttpReaderService.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/headers/HeadersHttpReaderService.java index d2f62d9..286b5da 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/HeadersHttpReaderService.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/headers/HeadersHttpReaderService.java @@ -1,10 +1,10 @@ -package io.github.tkaczenko.auditor.core.service.reader; +package io.github.tkaczenko.auditor.core.internal.factory.headers; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; -import io.github.tkaczenko.auditor.core.service.HttpReaderFactory; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.internal.factory.HttpReaderFactory; import java.util.List; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/package-info.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/package-info.java new file mode 100644 index 0000000..c834b80 --- /dev/null +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/factory/package-info.java @@ -0,0 +1,8 @@ +/** + * Provides classes and interfaces for reading data from various sources. The main entry point is + * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the + * contract for reading data. Implementations of this interface can be used to read data from + * different sources, such as requests, responses for HTTP clients. The package also includes + * utility classes and helper methods to facilitate the reading of data. + */ +package io.github.tkaczenko.auditor.core.internal.factory; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/AuditRequestResponseRepository.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/AuditRequestResponseRepository.java similarity index 83% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/AuditRequestResponseRepository.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/AuditRequestResponseRepository.java index 676e68d..d34ab99 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/AuditRequestResponseRepository.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/AuditRequestResponseRepository.java @@ -1,6 +1,6 @@ -package io.github.tkaczenko.auditor.core.repository; +package io.github.tkaczenko.auditor.core.internal.repository; -import io.github.tkaczenko.auditor.core.model.AuditRequestResponse; +import io.github.tkaczenko.auditor.core.internal.entity.AuditRequestResponse; import org.springframework.data.repository.NoRepositoryBean; /** diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/EntitySupplier.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/EntitySupplier.java similarity index 98% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/EntitySupplier.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/EntitySupplier.java index 0d461e7..f26cc9a 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/EntitySupplier.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/EntitySupplier.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core.repository; +package io.github.tkaczenko.auditor.core.internal.repository; import java.lang.reflect.Array; import java.lang.reflect.GenericArrayType; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/package-info.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/package-info.java similarity index 78% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/package-info.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/package-info.java index 18cbd76..c48a813 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/repository/package-info.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/repository/package-info.java @@ -3,4 +3,4 @@ * the methods for interacting with the underlying data storage, such as querying, creating, * updating, and deleting entities. */ -package io.github.tkaczenko.auditor.core.repository; +package io.github.tkaczenko.auditor.core.internal.repository; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditDateTimeProvider.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/AuditDateTimeProvider.java similarity index 95% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditDateTimeProvider.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/AuditDateTimeProvider.java index 352a988..5aed4f6 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditDateTimeProvider.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/AuditDateTimeProvider.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal.service; import java.time.LocalDateTime; import java.util.Optional; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditService.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/AuditService.java similarity index 90% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditService.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/AuditService.java index bc28b71..8b31692 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditService.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/AuditService.java @@ -1,9 +1,9 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal.service; import io.github.tkaczenko.auditor.core.config.PropertiesConfig.PersistingProperties; -import io.github.tkaczenko.auditor.core.model.AuditRequestResponse; -import io.github.tkaczenko.auditor.core.model.dto.AuditRequestResponseDto; -import io.github.tkaczenko.auditor.core.repository.AuditRequestResponseRepository; +import io.github.tkaczenko.auditor.core.internal.dto.AuditRequestResponseDto; +import io.github.tkaczenko.auditor.core.internal.entity.AuditRequestResponse; +import io.github.tkaczenko.auditor.core.internal.repository.AuditRequestResponseRepository; import java.util.Map; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditRequestContext.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/ThreadLocalAuditRequestResponseContext.java similarity index 83% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditRequestContext.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/ThreadLocalAuditRequestResponseContext.java index 0981a93..9c78fb9 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/AuditRequestContext.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/ThreadLocalAuditRequestResponseContext.java @@ -1,6 +1,6 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal.service; -import io.github.tkaczenko.auditor.core.model.dto.AuditRequestResponseDto; +import io.github.tkaczenko.auditor.core.internal.dto.AuditRequestResponseDto; import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; @@ -9,9 +9,10 @@ * initializing, setting, and clearing the thread-local {@link * AuditRequestResponseDto.AuditRequestResponseDtoBuilder} instance. * - *

The {@link AuditRequestContext} class serves as a utility for managing the lifecycle of the - * {@link AuditRequestResponseDto.AuditRequestResponseDtoBuilder} instance. It ensures that the - * builder is properly initialized, set, and cleared within the current thread's context. + *

The {@link ThreadLocalAuditRequestResponseContext} class serves as a utility for managing the + * lifecycle of the {@link AuditRequestResponseDto.AuditRequestResponseDtoBuilder} instance. It + * ensures that the builder is properly initialized, set, and cleared within the current thread's + * context. * *

This class follows the Utility Class pattern, as it contains only static methods and does not * require instantiation. It provides a centralized and thread-safe way to work with the @@ -19,7 +20,7 @@ */ @Slf4j @UtilityClass -public class AuditRequestContext { +public class ThreadLocalAuditRequestResponseContext { private static final ThreadLocal auditRequestResponseBuilderThreadLocal = new ThreadLocal<>(); diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/package-info.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/package-info.java similarity index 70% rename from auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/package-info.java rename to auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/package-info.java index 3e3df15..0791494 100644 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/package-info.java +++ b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/internal/service/package-info.java @@ -2,4 +2,4 @@ * Provides the core services for the Auditor. This package contains the main business * logic and functionality of the Auditor. */ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal.service; diff --git a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/package-info.java b/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/package-info.java deleted file mode 100644 index 0b0f83e..0000000 --- a/auditor.core/src/main/java/io/github/tkaczenko/auditor/core/service/reader/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Provides classes and interfaces for reading data from various sources. The main entry point is - * the {@link io.github.tkaczenko.auditor.core.HttpReader} interface, which defines the contract - * for reading data. Implementations of this interface can be used to read data from different - * sources, such as requests, responses for HTTP clients. The package also includes utility classes - * and helper methods to facilitate the reading of data. - */ -package io.github.tkaczenko.auditor.core.service.reader; diff --git a/auditor.core/src/main/java/module-info.java b/auditor.core/src/main/java/module-info.java index 4b91a5d..f031689 100644 --- a/auditor.core/src/main/java/module-info.java +++ b/auditor.core/src/main/java/module-info.java @@ -5,10 +5,17 @@ module auditor.core { exports io.github.tkaczenko.auditor.core; exports io.github.tkaczenko.auditor.core.config; - exports io.github.tkaczenko.auditor.core.model; - exports io.github.tkaczenko.auditor.core.repository; - exports io.github.tkaczenko.auditor.core.service; - exports io.github.tkaczenko.auditor.core.service.reader; + exports io.github.tkaczenko.auditor.core.internal.repository; + exports io.github.tkaczenko.auditor.core.internal; + exports io.github.tkaczenko.auditor.core.api; + exports io.github.tkaczenko.auditor.core.api.reader; + exports io.github.tkaczenko.auditor.core.api.reader.body; + exports io.github.tkaczenko.auditor.core.api.reader.headers; + exports io.github.tkaczenko.auditor.core.internal.service; + exports io.github.tkaczenko.auditor.core.internal.factory; + exports io.github.tkaczenko.auditor.core.internal.factory.headers; + exports io.github.tkaczenko.auditor.core.internal.factory.body; + exports io.github.tkaczenko.auditor.core.internal.entity; requires com.fasterxml.jackson.annotation; requires com.fasterxml.jackson.databind; @@ -24,5 +31,5 @@ requires spring.data.jpa; requires spring.tx; requires spring.web; - requires com.github.spotbugs.annotations; + requires com.github.spotbugs.annotations; } diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditFacadeTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/AuditFacadeTest.java similarity index 86% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditFacadeTest.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/AuditFacadeTest.java index 757de76..f8ebec8 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditFacadeTest.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/AuditFacadeTest.java @@ -1,9 +1,11 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.verify; -import io.github.tkaczenko.auditor.core.model.dto.AuditRequestResponseDto; +import io.github.tkaczenko.auditor.core.internal.dto.AuditRequestResponseDto; +import io.github.tkaczenko.auditor.core.internal.service.AuditService; +import io.github.tkaczenko.auditor.core.internal.service.ThreadLocalAuditRequestResponseContext; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; @@ -55,7 +57,7 @@ void setRequest() { auditFacade.setRequest(EXPECTED_AUDIT_REQUEST); AuditRequestResponseDto actual = - AuditRequestContext.getAuditRequestResponseBuilderThreadLocal().build(); + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal().build(); assertEquals(EXPECTED_AUDIT_REQUEST.url(), actual.getUrl()); assertEquals(EXPECTED_AUDIT_REQUEST.requestMethod(), actual.getRequestMethod()); @@ -69,7 +71,7 @@ void setResponse() { auditFacade.setResponse(EXPECTED_AUDIT_RESPONSE); AuditRequestResponseDto actual = - AuditRequestContext.getAuditRequestResponseBuilderThreadLocal().build(); + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal().build(); assertEquals(EXPECTED_AUDIT_RESPONSE.error(), actual.getError()); assertEquals(EXPECTED_AUDIT_RESPONSE.responseBody(), actual.getResponseBody()); diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/model/AuditRecord.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/entity/AuditRecord.java similarity index 89% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/model/AuditRecord.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/entity/AuditRecord.java index 077dcf9..91b6f75 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/model/AuditRecord.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/entity/AuditRecord.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core.model; +package io.github.tkaczenko.auditor.core.internal.entity; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/HttpReaderFactoryTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/HttpReaderFactoryTest.java similarity index 81% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/HttpReaderFactoryTest.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/HttpReaderFactoryTest.java index d76c961..8ebfc30 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/HttpReaderFactoryTest.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/HttpReaderFactoryTest.java @@ -1,8 +1,8 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal.factory; import static org.junit.jupiter.api.Assertions.assertTrue; -import io.github.tkaczenko.auditor.core.HttpReader; +import io.github.tkaczenko.auditor.core.api.reader.HttpReader; import java.util.Collections; import java.util.List; import org.junit.jupiter.api.Test; diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/reader/BodyReaderServiceTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/body/BodyReaderServiceTest.java similarity index 88% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/reader/BodyReaderServiceTest.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/body/BodyReaderServiceTest.java index abea2e6..dd498e3 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/reader/BodyReaderServiceTest.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/body/BodyReaderServiceTest.java @@ -1,9 +1,9 @@ -package io.github.tkaczenko.auditor.core.service.reader; +package io.github.tkaczenko.auditor.core.internal.factory.body; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; -import io.github.tkaczenko.auditor.core.BodyHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.util.Collections; import java.util.List; import org.junit.jupiter.api.Test; diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/reader/HeadersReaderServiceTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/headers/HeadersReaderServiceTest.java similarity index 90% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/reader/HeadersReaderServiceTest.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/headers/HeadersReaderServiceTest.java index c294be7..9812f64 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/reader/HeadersReaderServiceTest.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/factory/headers/HeadersReaderServiceTest.java @@ -1,9 +1,9 @@ -package io.github.tkaczenko.auditor.core.service.reader; +package io.github.tkaczenko.auditor.core.internal.factory.headers; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/repository/AuditRecordRepository.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/repository/AuditRecordRepository.java similarity index 54% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/repository/AuditRecordRepository.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/repository/AuditRecordRepository.java index 95d0f70..6d13ada 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/repository/AuditRecordRepository.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/repository/AuditRecordRepository.java @@ -1,6 +1,6 @@ -package io.github.tkaczenko.auditor.core.repository; +package io.github.tkaczenko.auditor.core.internal.repository; -import io.github.tkaczenko.auditor.core.model.AuditRecord; +import io.github.tkaczenko.auditor.core.internal.entity.AuditRecord; import org.springframework.stereotype.Repository; @Repository diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/repository/EntitySupplierTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/repository/EntitySupplierTest.java similarity index 89% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/repository/EntitySupplierTest.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/repository/EntitySupplierTest.java index 82199ff..5c4a432 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/repository/EntitySupplierTest.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/repository/EntitySupplierTest.java @@ -1,11 +1,11 @@ -package io.github.tkaczenko.auditor.core.repository; +package io.github.tkaczenko.auditor.core.internal.repository; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -import io.github.tkaczenko.auditor.core.Auditable; -import io.github.tkaczenko.auditor.core.model.AuditRecord; -import io.github.tkaczenko.auditor.core.model.AuditRequestResponse; +import io.github.tkaczenko.auditor.core.api.Auditable; +import io.github.tkaczenko.auditor.core.internal.entity.AuditRecord; +import io.github.tkaczenko.auditor.core.internal.entity.AuditRequestResponse; import java.time.LocalDateTime; import java.time.temporal.TemporalAccessor; import java.util.Optional; diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditDateTimeProviderTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/service/AuditDateTimeProviderTest.java similarity index 90% rename from auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditDateTimeProviderTest.java rename to auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/service/AuditDateTimeProviderTest.java index 194b730..1ec1789 100644 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditDateTimeProviderTest.java +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/service/AuditDateTimeProviderTest.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.core.service; +package io.github.tkaczenko.auditor.core.internal.service; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/service/ThreadLocalAuditRequestResponseContextTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/service/ThreadLocalAuditRequestResponseContextTest.java new file mode 100644 index 0000000..5d7dd14 --- /dev/null +++ b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/internal/service/ThreadLocalAuditRequestResponseContextTest.java @@ -0,0 +1,52 @@ +package io.github.tkaczenko.auditor.core.internal.service; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +import io.github.tkaczenko.auditor.core.internal.dto.AuditRequestResponseDto; +import org.junit.jupiter.api.Test; + +class ThreadLocalAuditRequestResponseContextTest { + + @Test + void initializeAuditRequestBuilderThreadLocal() { + AuditRequestResponseDto.AuditRequestResponseDtoBuilder expected = + ThreadLocalAuditRequestResponseContext.initializeAuditRequestBuilderThreadLocal(); + AuditRequestResponseDto.AuditRequestResponseDtoBuilder actual = + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal(); + + assertEquals(expected, actual); + } + + @Test + void setAuditRequestBuilderThreadLocal() { + AuditRequestResponseDto.AuditRequestResponseDtoBuilder expected = + ThreadLocalAuditRequestResponseContext.initializeAuditRequestBuilderThreadLocal(); + expected.url("url"); + + ThreadLocalAuditRequestResponseContext.setAuditRequestResponseBuilderThreadLocal(expected); + + assertEquals( + expected, + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal()); + } + + @Test + void clearAuditRequestBuilderThreadLocal() { + ThreadLocalAuditRequestResponseContext.initializeAuditRequestBuilderThreadLocal(); + + ThreadLocalAuditRequestResponseContext.clearAuditRequestBuilderThreadLocal(); + + assertNull(ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal()); + } + + @Test + void getAuditRequestBuilderThreadLocal() { + AuditRequestResponseDto.AuditRequestResponseDtoBuilder expected = + ThreadLocalAuditRequestResponseContext.initializeAuditRequestBuilderThreadLocal(); + + assertEquals( + expected, + ThreadLocalAuditRequestResponseContext.getAuditRequestResponseBuilderThreadLocal()); + } +} diff --git a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditRequestResponseContextTest.java b/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditRequestResponseContextTest.java deleted file mode 100644 index 9e62c2d..0000000 --- a/auditor.core/src/test/java/io/github/tkaczenko/auditor/core/service/AuditRequestResponseContextTest.java +++ /dev/null @@ -1,48 +0,0 @@ -package io.github.tkaczenko.auditor.core.service; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; - -import io.github.tkaczenko.auditor.core.model.dto.AuditRequestResponseDto; -import org.junit.jupiter.api.Test; - -class AuditRequestResponseContextTest { - - @Test - void initializeAuditRequestBuilderThreadLocal() { - AuditRequestResponseDto.AuditRequestResponseDtoBuilder expected = - AuditRequestContext.initializeAuditRequestBuilderThreadLocal(); - AuditRequestResponseDto.AuditRequestResponseDtoBuilder actual = - AuditRequestContext.getAuditRequestResponseBuilderThreadLocal(); - - assertEquals(expected, actual); - } - - @Test - void setAuditRequestBuilderThreadLocal() { - AuditRequestResponseDto.AuditRequestResponseDtoBuilder expected = - AuditRequestContext.initializeAuditRequestBuilderThreadLocal(); - expected.url("url"); - - AuditRequestContext.setAuditRequestResponseBuilderThreadLocal(expected); - - assertEquals(expected, AuditRequestContext.getAuditRequestResponseBuilderThreadLocal()); - } - - @Test - void clearAuditRequestBuilderThreadLocal() { - AuditRequestContext.initializeAuditRequestBuilderThreadLocal(); - - AuditRequestContext.clearAuditRequestBuilderThreadLocal(); - - assertNull(AuditRequestContext.getAuditRequestResponseBuilderThreadLocal()); - } - - @Test - void getAuditRequestBuilderThreadLocal() { - AuditRequestResponseDto.AuditRequestResponseDtoBuilder expected = - AuditRequestContext.initializeAuditRequestBuilderThreadLocal(); - - assertEquals(expected, AuditRequestContext.getAuditRequestResponseBuilderThreadLocal()); - } -} diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/AuditInboundRequestFilter.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/AuditInboundRequestFilter.java index e737125..7e227e7 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/AuditInboundRequestFilter.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/AuditInboundRequestFilter.java @@ -1,11 +1,11 @@ package io.github.tkaczenko.auditor.inbound; -import io.github.tkaczenko.auditor.core.Auditable; -import io.github.tkaczenko.auditor.core.service.AuditDateTimeProvider; -import io.github.tkaczenko.auditor.core.service.AuditFacade; -import io.github.tkaczenko.auditor.core.service.AuditRequestContext; -import io.github.tkaczenko.auditor.core.service.reader.BodyHttpReaderService; -import io.github.tkaczenko.auditor.core.service.reader.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.api.Auditable; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.core.internal.AuditFacade; +import io.github.tkaczenko.auditor.core.internal.service.ThreadLocalAuditRequestResponseContext; +import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; @@ -58,7 +58,7 @@ protected void doFilterInternal( final HttpServletResponse response, final FilterChain filterChain) throws ServletException, IOException { - AuditRequestContext.clearAuditRequestBuilderThreadLocal(); + ThreadLocalAuditRequestResponseContext.clearAuditRequestBuilderThreadLocal(); Optional createDateTime = auditDateTimeProvider.fromNow(); if (createDateTime.isEmpty()) { diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestBodyHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestBodyHttpReader.java index e9392d1..9d2d5a1 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestBodyHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestBodyHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.inbound.reader; -import io.github.tkaczenko.auditor.core.BodyHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.nio.charset.Charset; import org.springframework.stereotype.Component; import org.springframework.web.util.ContentCachingRequestWrapper; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestHeadersHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestHeadersHttpReader.java index 2a28898..36f8198 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestHeadersHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestHeadersHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.inbound.reader; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import java.util.Collections; import java.util.HashMap; import java.util.List; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseBodyHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseBodyHttpReader.java index 8120940..e940155 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseBodyHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseBodyHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.inbound.reader; -import io.github.tkaczenko.auditor.core.BodyHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.nio.charset.Charset; import org.springframework.stereotype.Component; import org.springframework.web.util.ContentCachingResponseWrapper; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseHeadersHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseHeadersHttpReader.java index 8ad800c..c6adad7 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseHeadersHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseHeadersHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.inbound.reader; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java index 003f27a..f388f77 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java @@ -1,6 +1,6 @@ /** * Provides classes and interfaces for reading data from various sources. The main entry point is - * the {@link io.github.tkaczenko.auditor.core.HttpReader} interface, which defines the contract + * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the contract * for reading data. Implementations of this interface can be used to read data from different * sources, such as requests, responses for HTTP clients. The package also includes utility classes * and helper methods to facilitate the reading of data. diff --git a/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/AuditInboundAuditRequestFilterTest.java b/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/AuditInboundAuditRequestFilterTest.java index 692af59..577a5dc 100644 --- a/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/AuditInboundAuditRequestFilterTest.java +++ b/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/AuditInboundAuditRequestFilterTest.java @@ -11,10 +11,10 @@ import static org.mockito.Mockito.when; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import io.github.tkaczenko.auditor.core.service.AuditDateTimeProvider; -import io.github.tkaczenko.auditor.core.service.AuditFacade; -import io.github.tkaczenko.auditor.core.service.reader.BodyHttpReaderService; -import io.github.tkaczenko.auditor.core.service.reader.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.core.internal.AuditFacade; +import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; import jakarta.servlet.FilterChain; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/FeignAuditRequestLogger.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/FeignAuditRequestLogger.java index f47e65e..0ce572a 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/FeignAuditRequestLogger.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/FeignAuditRequestLogger.java @@ -3,10 +3,10 @@ import feign.Logger; import feign.Request; import feign.Response; -import io.github.tkaczenko.auditor.core.service.AuditDateTimeProvider; -import io.github.tkaczenko.auditor.core.service.AuditFacade; -import io.github.tkaczenko.auditor.core.service.reader.BodyHttpReaderService; -import io.github.tkaczenko.auditor.core.service.reader.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.core.internal.AuditFacade; +import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestBodyHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestBodyHttpReader.java index 6bf68e1..41014dc 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestBodyHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestBodyHttpReader.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.outbound.feign.reader; import feign.Request; -import io.github.tkaczenko.auditor.core.BodyHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import org.springframework.stereotype.Component; /** HTTP request body reader from the provided {@link Request} */ diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestHeadersHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestHeadersHttpReader.java index 4c48da2..1e9e773 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestHeadersHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestHeadersHttpReader.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.outbound.feign.reader; import feign.Request; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import org.springframework.stereotype.Component; import org.springframework.util.MultiValueMap; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseBodyHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseBodyHttpReader.java index 5a93288..e861b6a 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseBodyHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseBodyHttpReader.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.outbound.feign.reader; import feign.Response; -import io.github.tkaczenko.auditor.core.BodyHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.io.IOException; import java.io.InputStream; import java.io.UncheckedIOException; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseHeadersHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseHeadersHttpReader.java index bc8170e..426f6ba 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseHeadersHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseHeadersHttpReader.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.outbound.feign.reader; import feign.Response; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import org.springframework.stereotype.Component; import org.springframework.util.MultiValueMap; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java index 784f7b9..bba41ae 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java @@ -1,6 +1,6 @@ /** * Provides classes and interfaces for reading data from various sources. The main entry point is - * the {@link io.github.tkaczenko.auditor.core.HttpReader} interface, which defines the contract + * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the contract * for reading data. Implementations of this interface can be used to read data from different * sources, such as requests, responses for HTTP clients. The package also includes utility classes * and helper methods to facilitate the reading of data. diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/AuditedOutboundCallAspect.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/AuditedOutboundCallAspect.java index 9659be6..7d8132a 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/AuditedOutboundCallAspect.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/AuditedOutboundCallAspect.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.outbound.aspect; -import io.github.tkaczenko.auditor.core.service.AuditFacade; -import io.github.tkaczenko.auditor.core.service.AuditRequestContext; +import io.github.tkaczenko.auditor.core.internal.AuditFacade; +import io.github.tkaczenko.auditor.core.internal.service.ThreadLocalAuditRequestResponseContext; import io.github.tkaczenko.auditor.outbound.AuditedOutboundCall; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -39,7 +39,7 @@ public class AuditedOutboundCallAspect { @Around(value = "@annotation(auditedOutboundCall)", argNames = "jp,auditedOutboundCall") public Object auditedOutboundCall( ProceedingJoinPoint jp, AuditedOutboundCall auditedOutboundCall) { - AuditRequestContext.initializeAuditRequestBuilderThreadLocal(); + ThreadLocalAuditRequestResponseContext.initializeAuditRequestBuilderThreadLocal(); String provider = auditedOutboundCall.provider(); String requestType = auditedOutboundCall.requestType(); diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspect.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspect.java index 193d7db..978457f 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspect.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspect.java @@ -1,9 +1,9 @@ package io.github.tkaczenko.auditor.outbound.resttemplate.aspect; -import io.github.tkaczenko.auditor.core.service.AuditDateTimeProvider; -import io.github.tkaczenko.auditor.core.service.AuditFacade; -import io.github.tkaczenko.auditor.core.service.reader.BodyHttpReaderService; -import io.github.tkaczenko.auditor.core.service.reader.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.core.internal.AuditFacade; +import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestBodyHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestBodyHttpReader.java index 3f3d736..cb0882e 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestBodyHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestBodyHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.outbound.resttemplate.reader; -import io.github.tkaczenko.auditor.core.BodyHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.nio.charset.StandardCharsets; import org.springframework.stereotype.Component; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestHeadersHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestHeadersHttpReader.java index a5c352d..8c57823 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestHeadersHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestHeadersHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.outbound.resttemplate.reader; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import org.springframework.http.HttpRequest; import org.springframework.stereotype.Component; import org.springframework.util.MultiValueMap; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseBodyHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseBodyHttpReader.java index 46e8e81..03d04a6 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseBodyHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseBodyHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.outbound.resttemplate.reader; -import io.github.tkaczenko.auditor.core.BodyHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseHeadersHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseHeadersHttpReader.java index 7717e4a..9aed415 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseHeadersHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseHeadersHttpReader.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.outbound.resttemplate.reader; -import io.github.tkaczenko.auditor.core.HeadersHttpReader; +import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import org.springframework.http.HttpHeaders; import org.springframework.http.client.ClientHttpResponse; import org.springframework.stereotype.Component; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java index bb2491c..d72c403 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java @@ -1,6 +1,6 @@ /** * Provides classes and interfaces for reading data from various sources. The main entry point is - * the {@link io.github.tkaczenko.auditor.core.HttpReader} interface, which defines the contract + * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the contract * for reading data. Implementations of this interface can be used to read data from different * sources, such as requests, responses for HTTP clients. The package also includes utility classes * and helper methods to facilitate the reading of data. diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/AuditRecord.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/AuditRecord.java index 605211d..47656f8 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/AuditRecord.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/AuditRecord.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.demo.model; -import io.github.tkaczenko.auditor.core.model.AuditRequestResponse; +import io.github.tkaczenko.auditor.core.internal.entity.AuditRequestResponse; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java index 626bb93..7559cdd 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.demo.repository; -import io.github.tkaczenko.auditor.core.repository.AuditRequestResponseRepository; +import io.github.tkaczenko.auditor.core.internal.repository.AuditRequestResponseRepository; import io.github.tkaczenko.auditor.demo.model.AuditRecord; import org.springframework.stereotype.Repository; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java index 6016778..89a4db4 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java @@ -1,9 +1,9 @@ package io.github.tkaczenko.auditor.demo.service.filter; -import io.github.tkaczenko.auditor.core.service.AuditDateTimeProvider; -import io.github.tkaczenko.auditor.core.service.AuditFacade; -import io.github.tkaczenko.auditor.core.service.reader.BodyHttpReaderService; -import io.github.tkaczenko.auditor.core.service.reader.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.core.internal.AuditFacade; +import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; import io.github.tkaczenko.auditor.inbound.AuditInboundRequestFilter; import io.github.tkaczenko.auditor.inbound.IpAddressSupplier; import org.springframework.stereotype.Component; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java b/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java index 26b092d..81c2010 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java @@ -10,10 +10,10 @@ import static org.mockito.Mockito.when; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import io.github.tkaczenko.auditor.core.service.AuditDateTimeProvider; -import io.github.tkaczenko.auditor.core.service.AuditFacade; -import io.github.tkaczenko.auditor.core.service.reader.BodyHttpReaderService; -import io.github.tkaczenko.auditor.core.service.reader.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.core.internal.AuditFacade; +import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; From 50c4d4031e5e25a2d4d2d6ebbcf28f553f4ea753 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Tue, 26 Nov 2024 14:12:32 +0000 Subject: [PATCH 03/17] Reorganized structure of auditor.inbound --- .../inbound/{ => api}/AuditInboundRequestFilter.java | 7 ++++--- .../reader/body}/InboundRequestBodyHttpReader.java | 2 +- .../reader/body}/InboundResponseBodyHttpReader.java | 2 +- .../reader/headers}/InboundRequestHeadersHttpReader.java | 2 +- .../reader/headers}/InboundResponseHeadersHttpReader.java | 2 +- .../auditor/inbound/api/reader/package-info.java | 8 ++++++++ .../tkaczenko/auditor/inbound/config/AuditorConfig.java | 2 +- .../inbound/{ => internal/service}/IpAddressSupplier.java | 2 +- .../tkaczenko/auditor/inbound/reader/package-info.java | 8 -------- auditor.inbound/src/main/java/module-info.java | 2 ++ .../{ => api}/AuditInboundAuditRequestFilterTest.java | 5 +++-- .../{ => internal/service}/IpAddressSupplierTest.java | 4 ++-- .../service/filter/DemoControllerAuditRequestFilter.java | 4 ++-- 13 files changed, 27 insertions(+), 23 deletions(-) rename auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/{ => api}/AuditInboundRequestFilter.java (97%) rename auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/{reader => api/reader/body}/InboundRequestBodyHttpReader.java (94%) rename auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/{reader => api/reader/body}/InboundResponseBodyHttpReader.java (93%) rename auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/{reader => api/reader/headers}/InboundRequestHeadersHttpReader.java (95%) rename auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/{reader => api/reader/headers}/InboundResponseHeadersHttpReader.java (95%) create mode 100644 auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/package-info.java rename auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/{ => internal/service}/IpAddressSupplier.java (97%) delete mode 100644 auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java rename auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/{ => api}/AuditInboundAuditRequestFilterTest.java (97%) rename auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/{ => internal/service}/IpAddressSupplierTest.java (95%) diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/AuditInboundRequestFilter.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/AuditInboundRequestFilter.java similarity index 97% rename from auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/AuditInboundRequestFilter.java rename to auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/AuditInboundRequestFilter.java index 7e227e7..ed87157 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/AuditInboundRequestFilter.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/AuditInboundRequestFilter.java @@ -1,11 +1,12 @@ -package io.github.tkaczenko.auditor.inbound; +package io.github.tkaczenko.auditor.inbound.api; import io.github.tkaczenko.auditor.core.api.Auditable; -import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.core.internal.AuditFacade; -import io.github.tkaczenko.auditor.core.internal.service.ThreadLocalAuditRequestResponseContext; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.core.internal.service.ThreadLocalAuditRequestResponseContext; +import io.github.tkaczenko.auditor.inbound.internal.service.IpAddressSupplier; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestBodyHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/body/InboundRequestBodyHttpReader.java similarity index 94% rename from auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestBodyHttpReader.java rename to auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/body/InboundRequestBodyHttpReader.java index 9d2d5a1..f17b185 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestBodyHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/body/InboundRequestBodyHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.inbound.reader; +package io.github.tkaczenko.auditor.inbound.api.reader.body; import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.nio.charset.Charset; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseBodyHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/body/InboundResponseBodyHttpReader.java similarity index 93% rename from auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseBodyHttpReader.java rename to auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/body/InboundResponseBodyHttpReader.java index e940155..fd7ed96 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseBodyHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/body/InboundResponseBodyHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.inbound.reader; +package io.github.tkaczenko.auditor.inbound.api.reader.body; import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.nio.charset.Charset; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestHeadersHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/headers/InboundRequestHeadersHttpReader.java similarity index 95% rename from auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestHeadersHttpReader.java rename to auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/headers/InboundRequestHeadersHttpReader.java index 36f8198..2676bc9 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundRequestHeadersHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/headers/InboundRequestHeadersHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.inbound.reader; +package io.github.tkaczenko.auditor.inbound.api.reader.headers; import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import java.util.Collections; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseHeadersHttpReader.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/headers/InboundResponseHeadersHttpReader.java similarity index 95% rename from auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseHeadersHttpReader.java rename to auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/headers/InboundResponseHeadersHttpReader.java index c6adad7..e973fa6 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/InboundResponseHeadersHttpReader.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/headers/InboundResponseHeadersHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.inbound.reader; +package io.github.tkaczenko.auditor.inbound.api.reader.headers; import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import java.util.ArrayList; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/package-info.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/package-info.java new file mode 100644 index 0000000..fef76be --- /dev/null +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/api/reader/package-info.java @@ -0,0 +1,8 @@ +/** + * Provides classes and interfaces for reading data from various sources. The main entry point is + * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the + * contract for reading data. Implementations of this interface can be used to read data from + * different sources, such as requests, responses for HTTP clients. The package also includes + * utility classes and helper methods to facilitate the reading of data. + */ +package io.github.tkaczenko.auditor.inbound.api.reader; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/config/AuditorConfig.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/config/AuditorConfig.java index dffccaa..534d0e5 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/config/AuditorConfig.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/config/AuditorConfig.java @@ -1,6 +1,6 @@ package io.github.tkaczenko.auditor.inbound.config; -import io.github.tkaczenko.auditor.inbound.AuditInboundRequestFilter; +import io.github.tkaczenko.auditor.inbound.api.AuditInboundRequestFilter; import java.util.List; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/IpAddressSupplier.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/internal/service/IpAddressSupplier.java similarity index 97% rename from auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/IpAddressSupplier.java rename to auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/internal/service/IpAddressSupplier.java index 1fa8914..3bf871a 100644 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/IpAddressSupplier.java +++ b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/internal/service/IpAddressSupplier.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.inbound; +package io.github.tkaczenko.auditor.inbound.internal.service; import jakarta.servlet.http.HttpServletRequest; import java.util.stream.Stream; diff --git a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java b/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java deleted file mode 100644 index f388f77..0000000 --- a/auditor.inbound/src/main/java/io/github/tkaczenko/auditor/inbound/reader/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Provides classes and interfaces for reading data from various sources. The main entry point is - * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the contract - * for reading data. Implementations of this interface can be used to read data from different - * sources, such as requests, responses for HTTP clients. The package also includes utility classes - * and helper methods to facilitate the reading of data. - */ -package io.github.tkaczenko.auditor.inbound.reader; diff --git a/auditor.inbound/src/main/java/module-info.java b/auditor.inbound/src/main/java/module-info.java index c7d343d..44c14e8 100644 --- a/auditor.inbound/src/main/java/module-info.java +++ b/auditor.inbound/src/main/java/module-info.java @@ -6,6 +6,8 @@ module auditor.inbound { exports io.github.tkaczenko.auditor.inbound; exports io.github.tkaczenko.auditor.inbound.config; + exports io.github.tkaczenko.auditor.inbound.internal.service; + exports io.github.tkaczenko.auditor.inbound.api; requires auditor.core; requires static lombok; diff --git a/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/AuditInboundAuditRequestFilterTest.java b/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/api/AuditInboundAuditRequestFilterTest.java similarity index 97% rename from auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/AuditInboundAuditRequestFilterTest.java rename to auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/api/AuditInboundAuditRequestFilterTest.java index 577a5dc..5603104 100644 --- a/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/AuditInboundAuditRequestFilterTest.java +++ b/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/api/AuditInboundAuditRequestFilterTest.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.inbound; +package io.github.tkaczenko.auditor.inbound.api; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; @@ -11,10 +11,11 @@ import static org.mockito.Mockito.when; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; +import io.github.tkaczenko.auditor.inbound.internal.service.IpAddressSupplier; import jakarta.servlet.FilterChain; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; diff --git a/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/IpAddressSupplierTest.java b/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/internal/service/IpAddressSupplierTest.java similarity index 95% rename from auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/IpAddressSupplierTest.java rename to auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/internal/service/IpAddressSupplierTest.java index 1ce9dff..8637750 100644 --- a/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/IpAddressSupplierTest.java +++ b/auditor.inbound/src/test/java/io/github/tkaczenko/auditor/inbound/internal/service/IpAddressSupplierTest.java @@ -1,8 +1,8 @@ -package io.github.tkaczenko.auditor.inbound; +package io.github.tkaczenko.auditor.inbound.internal.service; import static org.junit.jupiter.api.Assertions.assertEquals; -import io.github.tkaczenko.auditor.inbound.IpAddressSupplier.HttpRequestHeader; +import io.github.tkaczenko.auditor.inbound.internal.service.IpAddressSupplier.HttpRequestHeader; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.mock.web.MockHttpServletRequest; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java index 89a4db4..ba3e879 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java @@ -4,8 +4,8 @@ import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; -import io.github.tkaczenko.auditor.inbound.AuditInboundRequestFilter; -import io.github.tkaczenko.auditor.inbound.IpAddressSupplier; +import io.github.tkaczenko.auditor.inbound.api.AuditInboundRequestFilter; +import io.github.tkaczenko.auditor.inbound.internal.service.IpAddressSupplier; import org.springframework.stereotype.Component; @Component From c6fad7aad0cc5ebb75139026768c66611048a994 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Tue, 26 Nov 2024 14:30:08 +0000 Subject: [PATCH 04/17] Reorganized structure of auditor.outbound --- .../auditor/outbound/{ => api}/AuditedOutboundCall.java | 2 +- .../{aspect => api}/AuditedOutboundCallAspect.java | 3 +-- ...TemplateAuditOutboundRequestInterceptorWithAspect.java | 4 ++-- .../tkaczenko/auditor/outbound/api/package-info.java | 7 +++++++ .../reader/body}/RestTemplateRequestBodyHttpReader.java | 2 +- .../reader/body}/RestTemplateResponseBodyHttpReader.java | 2 +- .../headers}/RestTemplateRequestHeadersHttpReader.java | 2 +- .../headers}/RestTemplateResponseHeadersHttpReader.java | 2 +- .../auditor/outbound/api/reader/package-info.java | 8 ++++++++ .../tkaczenko/auditor/outbound/aspect/package-info.java | 5 ----- .../outbound/resttemplate/aspect/package-info.java | 5 ----- .../auditor/outbound/resttemplate/package-info.java | 6 ------ .../outbound/resttemplate/reader/package-info.java | 8 -------- auditor.outbound/src/main/java/module-info.java | 3 ++- .../tkaczenko/auditor/demo/config/RestTemplateConfig.java | 2 +- .../demo/service/client/feign/OutboundFeignClient.java | 2 +- .../client/resttemplate/OutboundRestTemplateClient.java | 2 +- ...lateAuditOutboundRequestInterceptorWithAspectTest.java | 2 ++ 18 files changed, 30 insertions(+), 37 deletions(-) rename auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/{ => api}/AuditedOutboundCall.java (94%) rename auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/{aspect => api}/AuditedOutboundCallAspect.java (95%) rename auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/{resttemplate/aspect => api}/RestTemplateAuditOutboundRequestInterceptorWithAspect.java (98%) create mode 100644 auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/package-info.java rename auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/{resttemplate/reader => api/reader/body}/RestTemplateRequestBodyHttpReader.java (91%) rename auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/{resttemplate/reader => api/reader/body}/RestTemplateResponseBodyHttpReader.java (95%) rename auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/{resttemplate/reader => api/reader/headers}/RestTemplateRequestHeadersHttpReader.java (92%) rename auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/{resttemplate/reader => api/reader/headers}/RestTemplateResponseHeadersHttpReader.java (93%) create mode 100644 auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/package-info.java delete mode 100644 auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/package-info.java delete mode 100644 auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/package-info.java delete mode 100644 auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/package-info.java delete mode 100644 auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/AuditedOutboundCall.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/AuditedOutboundCall.java similarity index 94% rename from auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/AuditedOutboundCall.java rename to auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/AuditedOutboundCall.java index 530272e..b0bf255 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/AuditedOutboundCall.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/AuditedOutboundCall.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound; +package io.github.tkaczenko.auditor.outbound.api; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/AuditedOutboundCallAspect.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/AuditedOutboundCallAspect.java similarity index 95% rename from auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/AuditedOutboundCallAspect.java rename to auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/AuditedOutboundCallAspect.java index 7d8132a..763a771 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/AuditedOutboundCallAspect.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/AuditedOutboundCallAspect.java @@ -1,8 +1,7 @@ -package io.github.tkaczenko.auditor.outbound.aspect; +package io.github.tkaczenko.auditor.outbound.api; import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.service.ThreadLocalAuditRequestResponseContext; -import io.github.tkaczenko.auditor.outbound.AuditedOutboundCall; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspect.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/RestTemplateAuditOutboundRequestInterceptorWithAspect.java similarity index 98% rename from auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspect.java rename to auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/RestTemplateAuditOutboundRequestInterceptorWithAspect.java index 978457f..2388fdb 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspect.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/RestTemplateAuditOutboundRequestInterceptorWithAspect.java @@ -1,9 +1,9 @@ -package io.github.tkaczenko.auditor.outbound.resttemplate.aspect; +package io.github.tkaczenko.auditor.outbound.api; -import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/package-info.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/package-info.java new file mode 100644 index 0000000..ed674f3 --- /dev/null +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/package-info.java @@ -0,0 +1,7 @@ +/** + * This package contains the aspect used in the outbound service. The aspect is responsible for + * logging the request and response data for each REST call. This package contains the interceptor + * for the RestTemplate used in the outbound service. The service is responsible for logging the + * request and response data for each REST call. + */ +package io.github.tkaczenko.auditor.outbound.api; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestBodyHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/body/RestTemplateRequestBodyHttpReader.java similarity index 91% rename from auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestBodyHttpReader.java rename to auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/body/RestTemplateRequestBodyHttpReader.java index cb0882e..983d77c 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestBodyHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/body/RestTemplateRequestBodyHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.resttemplate.reader; +package io.github.tkaczenko.auditor.outbound.api.reader.body; import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.nio.charset.StandardCharsets; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseBodyHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/body/RestTemplateResponseBodyHttpReader.java similarity index 95% rename from auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseBodyHttpReader.java rename to auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/body/RestTemplateResponseBodyHttpReader.java index 03d04a6..f5874dc 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseBodyHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/body/RestTemplateResponseBodyHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.resttemplate.reader; +package io.github.tkaczenko.auditor.outbound.api.reader.body; import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; import java.io.IOException; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestHeadersHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/headers/RestTemplateRequestHeadersHttpReader.java similarity index 92% rename from auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestHeadersHttpReader.java rename to auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/headers/RestTemplateRequestHeadersHttpReader.java index 8c57823..60f8324 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateRequestHeadersHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/headers/RestTemplateRequestHeadersHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.resttemplate.reader; +package io.github.tkaczenko.auditor.outbound.api.reader.headers; import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import org.springframework.http.HttpRequest; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseHeadersHttpReader.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/headers/RestTemplateResponseHeadersHttpReader.java similarity index 93% rename from auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseHeadersHttpReader.java rename to auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/headers/RestTemplateResponseHeadersHttpReader.java index 9aed415..a1194b9 100644 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/RestTemplateResponseHeadersHttpReader.java +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/headers/RestTemplateResponseHeadersHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.resttemplate.reader; +package io.github.tkaczenko.auditor.outbound.api.reader.headers; import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; import org.springframework.http.HttpHeaders; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/package-info.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/package-info.java new file mode 100644 index 0000000..8e43c3a --- /dev/null +++ b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/api/reader/package-info.java @@ -0,0 +1,8 @@ +/** + * Provides classes and interfaces for reading data from various sources. The main entry point is + * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the + * contract for reading data. Implementations of this interface can be used to read data from + * different sources, such as requests, responses for HTTP clients. The package also includes + * utility classes and helper methods to facilitate the reading of data. + */ +package io.github.tkaczenko.auditor.outbound.api.reader; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/package-info.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/package-info.java deleted file mode 100644 index c75b99f..0000000 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/aspect/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This package contains the aspect used in the outbound service. The aspect - * is responsible for logging the request and response data for each REST call. - */ -package io.github.tkaczenko.auditor.outbound.aspect; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/package-info.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/package-info.java deleted file mode 100644 index ed773e6..0000000 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This package contains the interceptor for the RestTemplate used in the outbound service. The - * service is responsible for logging the request and response data for each REST call. - */ -package io.github.tkaczenko.auditor.outbound.resttemplate.aspect; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/package-info.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/package-info.java deleted file mode 100644 index 03a96ca..0000000 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Provides utility classes and interfaces for interacting with external services using the Spring - * RestTemplate. This package contains classes that handle the configuration, execution, and error - * handling of REST API calls. - */ -package io.github.tkaczenko.auditor.outbound.resttemplate; diff --git a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java b/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java deleted file mode 100644 index d72c403..0000000 --- a/auditor.outbound/src/main/java/io/github/tkaczenko/auditor/outbound/resttemplate/reader/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Provides classes and interfaces for reading data from various sources. The main entry point is - * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the contract - * for reading data. Implementations of this interface can be used to read data from different - * sources, such as requests, responses for HTTP clients. The package also includes utility classes - * and helper methods to facilitate the reading of data. - */ -package io.github.tkaczenko.auditor.outbound.resttemplate.reader; diff --git a/auditor.outbound/src/main/java/module-info.java b/auditor.outbound/src/main/java/module-info.java index 1916058..a5436ec 100644 --- a/auditor.outbound/src/main/java/module-info.java +++ b/auditor.outbound/src/main/java/module-info.java @@ -6,8 +6,9 @@ module auditor.outbound { exports io.github.tkaczenko.auditor.outbound; exports io.github.tkaczenko.auditor.outbound.config; + exports io.github.tkaczenko.auditor.outbound.api; - requires auditor.core; + requires auditor.core; requires static lombok; requires org.slf4j; requires java.xml; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/RestTemplateConfig.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/RestTemplateConfig.java index 51e54e2..288a9f6 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/RestTemplateConfig.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/RestTemplateConfig.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.demo.config; import io.github.tkaczenko.auditor.demo.config.PropertiesConfig.DemoClientProperties; -import io.github.tkaczenko.auditor.outbound.resttemplate.aspect.RestTemplateAuditOutboundRequestInterceptorWithAspect; +import io.github.tkaczenko.auditor.outbound.api.RestTemplateAuditOutboundRequestInterceptorWithAspect; import java.time.Duration; import lombok.RequiredArgsConstructor; import org.springframework.boot.web.client.RestTemplateBuilder; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/feign/OutboundFeignClient.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/feign/OutboundFeignClient.java index 42ce446..dedd4f1 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/feign/OutboundFeignClient.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/feign/OutboundFeignClient.java @@ -3,7 +3,7 @@ import io.github.tkaczenko.auditor.demo.config.FeignConfig; import io.github.tkaczenko.auditor.demo.service.client.feign.dto.FeignRequest; import io.github.tkaczenko.auditor.demo.service.client.feign.dto.FeignResponse; -import io.github.tkaczenko.auditor.outbound.AuditedOutboundCall; +import io.github.tkaczenko.auditor.outbound.api.AuditedOutboundCall; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/resttemplate/OutboundRestTemplateClient.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/resttemplate/OutboundRestTemplateClient.java index 2d4647b..37d696a 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/resttemplate/OutboundRestTemplateClient.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/client/resttemplate/OutboundRestTemplateClient.java @@ -4,7 +4,7 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import io.github.tkaczenko.auditor.demo.config.PropertiesConfig; import io.github.tkaczenko.auditor.demo.service.client.resttemplate.dto.RestTemplateResponse; -import io.github.tkaczenko.auditor.outbound.AuditedOutboundCall; +import io.github.tkaczenko.auditor.outbound.api.AuditedOutboundCall; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java b/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java index 81c2010..94ce62c 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java @@ -14,6 +14,8 @@ import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.outbound.api.RestTemplateAuditOutboundRequestInterceptorWithAspect; + import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; From c5cc103b3e9b9dbdb1c22caca321c49afdad789f Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Tue, 26 Nov 2024 14:38:28 +0000 Subject: [PATCH 05/17] Reorganized structure of auditor.outbound.feign --- .../outbound/feign/{ => api}/FeignAuditRequestLogger.java | 4 ++-- .../reader/body}/FeignRequestBodyHttpReader.java | 2 +- .../reader/body}/FeignResponseBodyHttpReader.java | 2 +- .../reader/headers}/FeignRequestHeadersHttpReader.java | 2 +- .../reader/headers}/FeignResponseHeadersHttpReader.java | 2 +- .../auditor/outbound/feign/api/reader/package-info.java | 8 ++++++++ .../auditor/outbound/feign/reader/package-info.java | 8 -------- auditor.outbound.feign/src/main/java/module-info.java | 2 +- .../github/tkaczenko/auditor/demo/config/FeignConfig.java | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) rename auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/{ => api}/FeignAuditRequestLogger.java (98%) rename auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/{reader => api/reader/body}/FeignRequestBodyHttpReader.java (91%) rename auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/{reader => api/reader/body}/FeignResponseBodyHttpReader.java (94%) rename auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/{reader => api/reader/headers}/FeignRequestHeadersHttpReader.java (91%) rename auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/{reader => api/reader/headers}/FeignResponseHeadersHttpReader.java (91%) create mode 100644 auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/package-info.java delete mode 100644 auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/FeignAuditRequestLogger.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/FeignAuditRequestLogger.java similarity index 98% rename from auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/FeignAuditRequestLogger.java rename to auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/FeignAuditRequestLogger.java index 0ce572a..8979af1 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/FeignAuditRequestLogger.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/FeignAuditRequestLogger.java @@ -1,12 +1,12 @@ -package io.github.tkaczenko.auditor.outbound.feign; +package io.github.tkaczenko.auditor.outbound.feign.api; import feign.Logger; import feign.Request; import feign.Response; -import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestBodyHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/body/FeignRequestBodyHttpReader.java similarity index 91% rename from auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestBodyHttpReader.java rename to auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/body/FeignRequestBodyHttpReader.java index 41014dc..066153c 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestBodyHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/body/FeignRequestBodyHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.feign.reader; +package io.github.tkaczenko.auditor.outbound.feign.api.reader.body; import feign.Request; import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseBodyHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/body/FeignResponseBodyHttpReader.java similarity index 94% rename from auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseBodyHttpReader.java rename to auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/body/FeignResponseBodyHttpReader.java index e861b6a..f323ac5 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseBodyHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/body/FeignResponseBodyHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.feign.reader; +package io.github.tkaczenko.auditor.outbound.feign.api.reader.body; import feign.Response; import io.github.tkaczenko.auditor.core.api.reader.body.BodyHttpReader; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestHeadersHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/headers/FeignRequestHeadersHttpReader.java similarity index 91% rename from auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestHeadersHttpReader.java rename to auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/headers/FeignRequestHeadersHttpReader.java index 1e9e773..1171203 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignRequestHeadersHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/headers/FeignRequestHeadersHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.feign.reader; +package io.github.tkaczenko.auditor.outbound.feign.api.reader.headers; import feign.Request; import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseHeadersHttpReader.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/headers/FeignResponseHeadersHttpReader.java similarity index 91% rename from auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseHeadersHttpReader.java rename to auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/headers/FeignResponseHeadersHttpReader.java index 426f6ba..1f29625 100644 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/FeignResponseHeadersHttpReader.java +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/headers/FeignResponseHeadersHttpReader.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.feign.reader; +package io.github.tkaczenko.auditor.outbound.feign.api.reader.headers; import feign.Response; import io.github.tkaczenko.auditor.core.api.reader.headers.HeadersHttpReader; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/package-info.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/package-info.java new file mode 100644 index 0000000..948538c --- /dev/null +++ b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/api/reader/package-info.java @@ -0,0 +1,8 @@ +/** + * Provides classes and interfaces for reading data from various sources. The main entry point is + * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the + * contract for reading data. Implementations of this interface can be used to read data from + * different sources, such as requests, responses for HTTP clients. The package also includes + * utility classes and helper methods to facilitate the reading of data. + */ +package io.github.tkaczenko.auditor.outbound.feign.api.reader; diff --git a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java b/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java deleted file mode 100644 index bba41ae..0000000 --- a/auditor.outbound.feign/src/main/java/io/github/tkaczenko/auditor/outbound/feign/reader/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Provides classes and interfaces for reading data from various sources. The main entry point is - * the {@link io.github.tkaczenko.auditor.core.api.reader.HttpReader} interface, which defines the contract - * for reading data. Implementations of this interface can be used to read data from different - * sources, such as requests, responses for HTTP clients. The package also includes utility classes - * and helper methods to facilitate the reading of data. - */ -package io.github.tkaczenko.auditor.outbound.feign.reader; diff --git a/auditor.outbound.feign/src/main/java/module-info.java b/auditor.outbound.feign/src/main/java/module-info.java index 8925bc6..3ed3386 100644 --- a/auditor.outbound.feign/src/main/java/module-info.java +++ b/auditor.outbound.feign/src/main/java/module-info.java @@ -4,7 +4,7 @@ * the necessary dependencies. */ module auditor.outbound.feign { - exports io.github.tkaczenko.auditor.outbound.feign; + exports io.github.tkaczenko.auditor.outbound.feign.api; requires auditor.core; requires feign.core; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/FeignConfig.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/FeignConfig.java index ddc2e38..5e62adc 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/FeignConfig.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/config/FeignConfig.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.demo.config; import feign.Logger; -import io.github.tkaczenko.auditor.outbound.feign.FeignAuditRequestLogger; +import io.github.tkaczenko.auditor.outbound.feign.api.FeignAuditRequestLogger; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; From a672641caba388f897005f2f613b0a30ba907a1f Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Tue, 26 Nov 2024 15:10:52 +0000 Subject: [PATCH 06/17] Reorganized structure of auditor.cleanup and auditor.demo --- .../{ => internal}/service/CleanupScheduler.java | 2 +- .../{ => internal}/service/package-info.java | 2 +- .../{model => cleanup/api}/dto/ErrorResponse.java | 2 +- .../demo/{model => cleanup/api}/dto/Request.java | 2 +- .../demo/{model => cleanup/api}/dto/Response.java | 2 +- .../auditor/demo/controller/DemoController.java | 13 +++++-------- .../auditor/demo/{model => entity}/AuditRecord.java | 2 +- .../demo/repository/AuditRecordRepository.java | 2 +- .../filter/DemoControllerAuditRequestFilter.java | 2 +- .../auditor/demo/IntegrationTestScenario.java | 2 +- .../auditor/demo/IntegrationTestVerifier.java | 2 +- .../cleanup/{ => api}/CleanupIntegrationTests.java | 2 +- .../inbound/{ => api}/InboundIntegrationTests.java | 6 +++--- .../{ => api}/MultiInboundIntegrationTests.java | 6 +++--- .../OutboundRestTemplateIntegrationTests.java | 9 +++++---- ...ditOutboundRequestInterceptorWithAspectTest.java | 5 ++--- .../{ => api}/OutboundFeignIntegrationTests.java | 6 +++--- 17 files changed, 32 insertions(+), 35 deletions(-) rename auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/{ => internal}/service/CleanupScheduler.java (94%) rename auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/{ => internal}/service/package-info.java (54%) rename demo/src/main/java/io/github/tkaczenko/auditor/demo/{model => cleanup/api}/dto/ErrorResponse.java (79%) rename demo/src/main/java/io/github/tkaczenko/auditor/demo/{model => cleanup/api}/dto/Request.java (79%) rename demo/src/main/java/io/github/tkaczenko/auditor/demo/{model => cleanup/api}/dto/Response.java (80%) rename demo/src/main/java/io/github/tkaczenko/auditor/demo/{model => entity}/AuditRecord.java (93%) rename demo/src/test/java/io/github/tkaczenko/auditor/demo/cleanup/{ => api}/CleanupIntegrationTests.java (96%) rename demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/{ => api}/InboundIntegrationTests.java (92%) rename demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/{ => api}/MultiInboundIntegrationTests.java (94%) rename demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/{resttemplate => api}/OutboundRestTemplateIntegrationTests.java (93%) rename demo/src/test/java/io/github/tkaczenko/auditor/{outbound/resttemplate/aspect => demo/outbound/api}/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java (97%) rename demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/{ => api}/OutboundFeignIntegrationTests.java (95%) diff --git a/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/CleanupScheduler.java b/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/internal/service/CleanupScheduler.java similarity index 94% rename from auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/CleanupScheduler.java rename to auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/internal/service/CleanupScheduler.java index f1a957d..2c4972c 100644 --- a/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/CleanupScheduler.java +++ b/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/internal/service/CleanupScheduler.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.cleanup.service; +package io.github.tkaczenko.auditor.cleanup.internal.service; import io.github.tkaczenko.auditor.core.internal.entity.AuditRequestResponse; import io.github.tkaczenko.auditor.core.internal.repository.AuditRequestResponseRepository; diff --git a/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/package-info.java b/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/internal/service/package-info.java similarity index 54% rename from auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/package-info.java rename to auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/internal/service/package-info.java index f028c1a..277fb48 100644 --- a/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/service/package-info.java +++ b/auditor.cleanup/src/main/java/io/github/tkaczenko/auditor/cleanup/internal/service/package-info.java @@ -1,2 +1,2 @@ /** Provides utility classes and services for cleaning up audited data. */ -package io.github.tkaczenko.auditor.cleanup.service; +package io.github.tkaczenko.auditor.cleanup.internal.service; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/ErrorResponse.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/ErrorResponse.java similarity index 79% rename from demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/ErrorResponse.java rename to demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/ErrorResponse.java index 85089d3..230f0f0 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/ErrorResponse.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/ErrorResponse.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.demo.model.dto; +package io.github.tkaczenko.auditor.demo.cleanup.api.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/Request.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/Request.java similarity index 79% rename from demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/Request.java rename to demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/Request.java index 297dee1..774d9d9 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/Request.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/Request.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.demo.model.dto; +package io.github.tkaczenko.auditor.demo.cleanup.api.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/Response.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/Response.java similarity index 80% rename from demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/Response.java rename to demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/Response.java index f141580..cc83e30 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/dto/Response.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/cleanup/api/dto/Response.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.demo.model.dto; +package io.github.tkaczenko.auditor.demo.cleanup.api.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/controller/DemoController.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/controller/DemoController.java index b101d3b..39e4584 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/controller/DemoController.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/controller/DemoController.java @@ -1,9 +1,9 @@ package io.github.tkaczenko.auditor.demo.controller; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.ErrorResponse; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.Request; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.Response; import io.github.tkaczenko.auditor.demo.config.PropertiesConfig.FeignClientProperties; -import io.github.tkaczenko.auditor.demo.model.dto.ErrorResponse; -import io.github.tkaczenko.auditor.demo.model.dto.Request; -import io.github.tkaczenko.auditor.demo.model.dto.Response; import io.github.tkaczenko.auditor.demo.service.client.feign.OutboundFeignClient; import io.github.tkaczenko.auditor.demo.service.client.feign.dto.FeignRequest; import io.github.tkaczenko.auditor.demo.service.client.feign.dto.FeignResponse; @@ -51,8 +51,7 @@ public ResponseEntity testOutboundRestTemplate(@RequestBody Request re if (log.isInfoEnabled()) { log.info("testOutboundRestTemplate Request: {}", request); } - RestTemplateResponse response = - outboundRestTemplateClient.get(); + RestTemplateResponse response = outboundRestTemplateClient.get(); MDC.clear(); return ResponseEntity.ok( Response.builder() @@ -74,9 +73,7 @@ public ResponseEntity testOutboundFeign(@RequestBody Request request) .build()); MDC.clear(); return ResponseEntity.ok( - Response.builder() - .responseTransactionId(response.getFeignResponseTransactionId()) - .build()); + Response.builder().responseTransactionId(response.getFeignResponseTransactionId()).build()); } @ExceptionHandler(RuntimeException.class) diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/AuditRecord.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/entity/AuditRecord.java similarity index 93% rename from demo/src/main/java/io/github/tkaczenko/auditor/demo/model/AuditRecord.java rename to demo/src/main/java/io/github/tkaczenko/auditor/demo/entity/AuditRecord.java index 47656f8..d3c34ba 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/model/AuditRecord.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/entity/AuditRecord.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.demo.model; +package io.github.tkaczenko.auditor.demo.entity; import io.github.tkaczenko.auditor.core.internal.entity.AuditRequestResponse; import jakarta.persistence.Column; diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java index 7559cdd..e9dbda8 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/repository/AuditRecordRepository.java @@ -1,7 +1,7 @@ package io.github.tkaczenko.auditor.demo.repository; import io.github.tkaczenko.auditor.core.internal.repository.AuditRequestResponseRepository; -import io.github.tkaczenko.auditor.demo.model.AuditRecord; +import io.github.tkaczenko.auditor.demo.entity.AuditRecord; import org.springframework.stereotype.Repository; @Repository diff --git a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java index ba3e879..e5e9b3c 100644 --- a/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java +++ b/demo/src/main/java/io/github/tkaczenko/auditor/demo/service/filter/DemoControllerAuditRequestFilter.java @@ -1,9 +1,9 @@ package io.github.tkaczenko.auditor.demo.service.filter; -import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.inbound.api.AuditInboundRequestFilter; import io.github.tkaczenko.auditor.inbound.internal.service.IpAddressSupplier; import org.springframework.stereotype.Component; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestScenario.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestScenario.java index f89fd3d..48ec689 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestScenario.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestScenario.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.stubbing.Scenario; -import io.github.tkaczenko.auditor.demo.model.dto.Request; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.Request; import java.util.ArrayList; import java.util.Collections; import java.util.List; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestVerifier.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestVerifier.java index 6a593d3..17814e6 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestVerifier.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/IntegrationTestVerifier.java @@ -2,7 +2,7 @@ import static org.assertj.core.api.Assertions.assertThat; -import io.github.tkaczenko.auditor.demo.model.AuditRecord; +import io.github.tkaczenko.auditor.demo.entity.AuditRecord; import io.github.tkaczenko.auditor.demo.repository.AuditRecordRepository; import io.github.tkaczenko.auditor.demo.util.CompareResultService; import java.util.Collections; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/cleanup/CleanupIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/cleanup/api/CleanupIntegrationTests.java similarity index 96% rename from demo/src/test/java/io/github/tkaczenko/auditor/demo/cleanup/CleanupIntegrationTests.java rename to demo/src/test/java/io/github/tkaczenko/auditor/demo/cleanup/api/CleanupIntegrationTests.java index 4a5f9e8..faba471 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/cleanup/CleanupIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/cleanup/api/CleanupIntegrationTests.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.demo.cleanup; +package io.github.tkaczenko.auditor.demo.cleanup.api; import static org.assertj.core.api.Assertions.assertThat; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/InboundIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/InboundIntegrationTests.java similarity index 92% rename from demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/InboundIntegrationTests.java rename to demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/InboundIntegrationTests.java index 246775e..002dd12 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/InboundIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/InboundIntegrationTests.java @@ -1,12 +1,12 @@ -package io.github.tkaczenko.auditor.demo.inbound; +package io.github.tkaczenko.auditor.demo.inbound.api; import static io.github.tkaczenko.auditor.demo.util.FileUtils.readSystemResource; import static io.github.tkaczenko.auditor.demo.util.Files.Inbound; import io.github.tkaczenko.auditor.demo.AbstractIntegrationTest; import io.github.tkaczenko.auditor.demo.IntegrationTestScenario; -import io.github.tkaczenko.auditor.demo.model.dto.ErrorResponse; -import io.github.tkaczenko.auditor.demo.model.dto.Response; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.ErrorResponse; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.Response; import io.restassured.response.ValidatableResponse; import lombok.SneakyThrows; import org.hamcrest.CoreMatchers; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/MultiInboundIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java similarity index 94% rename from demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/MultiInboundIntegrationTests.java rename to demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java index 4f9ba27..6aa5a12 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/MultiInboundIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java @@ -1,12 +1,12 @@ -package io.github.tkaczenko.auditor.demo.inbound; +package io.github.tkaczenko.auditor.demo.inbound.api; import static io.github.tkaczenko.auditor.demo.util.FileUtils.readSystemResource; import static io.github.tkaczenko.auditor.demo.util.Files.Inbound.Multi; import io.github.tkaczenko.auditor.demo.AbstractIntegrationTest; import io.github.tkaczenko.auditor.demo.IntegrationTestScenario; -import io.github.tkaczenko.auditor.demo.model.dto.ErrorResponse; -import io.github.tkaczenko.auditor.demo.model.dto.Response; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.ErrorResponse; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.Response; import io.restassured.response.ValidatableResponse; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/resttemplate/OutboundRestTemplateIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/OutboundRestTemplateIntegrationTests.java similarity index 93% rename from demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/resttemplate/OutboundRestTemplateIntegrationTests.java rename to demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/OutboundRestTemplateIntegrationTests.java index a0ad85c..28c0126 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/resttemplate/OutboundRestTemplateIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/OutboundRestTemplateIntegrationTests.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.demo.outbound.resttemplate; +package io.github.tkaczenko.auditor.demo.outbound.api; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.absent; @@ -11,9 +11,9 @@ import io.github.tkaczenko.auditor.demo.AbstractIntegrationTest; import io.github.tkaczenko.auditor.demo.IntegrationTestScenario; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.ErrorResponse; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.Response; import io.github.tkaczenko.auditor.demo.config.PropertiesConfig.DemoClientProperties; -import io.github.tkaczenko.auditor.demo.model.dto.ErrorResponse; -import io.github.tkaczenko.auditor.demo.model.dto.Response; import io.restassured.response.ValidatableResponse; import lombok.SneakyThrows; import org.hamcrest.CoreMatchers; @@ -30,7 +30,8 @@ @Transactional @AutoConfigureWireMock(port = 0) -@TestPropertySource(properties = "demo-client.url=http://localhost:${wiremock.server.port}/demo-client") +@TestPropertySource( + properties = "demo-client.url=http://localhost:${wiremock.server.port}/demo-client") @DisplayName( "OutboundRestTemplateIntegrationTests " + OutboundRestTemplateIntegrationTests.TEST_URL + " ") public class OutboundRestTemplateIntegrationTests extends AbstractIntegrationTest { diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java similarity index 97% rename from demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java rename to demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java index 94ce62c..295ef94 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/outbound/resttemplate/aspect/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/RestTemplateAuditOutboundRequestInterceptorWithAspectTest.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.outbound.resttemplate.aspect; +package io.github.tkaczenko.auditor.demo.outbound.api; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; @@ -10,12 +10,11 @@ import static org.mockito.Mockito.when; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.core.internal.AuditFacade; import io.github.tkaczenko.auditor.core.internal.factory.body.BodyHttpReaderService; import io.github.tkaczenko.auditor.core.internal.factory.headers.HeadersHttpReaderService; +import io.github.tkaczenko.auditor.core.internal.service.AuditDateTimeProvider; import io.github.tkaczenko.auditor.outbound.api.RestTemplateAuditOutboundRequestInterceptorWithAspect; - import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/OutboundFeignIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/api/OutboundFeignIntegrationTests.java similarity index 95% rename from demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/OutboundFeignIntegrationTests.java rename to demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/api/OutboundFeignIntegrationTests.java index 3cd20d5..081a356 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/OutboundFeignIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/api/OutboundFeignIntegrationTests.java @@ -1,4 +1,4 @@ -package io.github.tkaczenko.auditor.demo.outbound.feign; +package io.github.tkaczenko.auditor.demo.outbound.feign.api; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; @@ -10,9 +10,9 @@ import io.github.tkaczenko.auditor.demo.AbstractIntegrationTest; import io.github.tkaczenko.auditor.demo.IntegrationTestScenario; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.ErrorResponse; +import io.github.tkaczenko.auditor.demo.cleanup.api.dto.Response; import io.github.tkaczenko.auditor.demo.config.PropertiesConfig.FeignClientProperties; -import io.github.tkaczenko.auditor.demo.model.dto.ErrorResponse; -import io.github.tkaczenko.auditor.demo.model.dto.Response; import io.github.tkaczenko.auditor.demo.util.Files.Inbound; import io.github.tkaczenko.auditor.demo.util.Files.Outbound; import io.restassured.response.ValidatableResponse; From 41aff11bb7b1eecc353c04d0a47970e363f7f737 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Tue, 26 Nov 2024 15:14:02 +0000 Subject: [PATCH 07/17] Updated module-info.java --- auditor.inbound/src/main/java/module-info.java | 2 +- auditor.outbound/src/main/java/module-info.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/auditor.inbound/src/main/java/module-info.java b/auditor.inbound/src/main/java/module-info.java index 44c14e8..7c118ca 100644 --- a/auditor.inbound/src/main/java/module-info.java +++ b/auditor.inbound/src/main/java/module-info.java @@ -6,7 +6,7 @@ module auditor.inbound { exports io.github.tkaczenko.auditor.inbound; exports io.github.tkaczenko.auditor.inbound.config; - exports io.github.tkaczenko.auditor.inbound.internal.service; + exports io.github.tkaczenko.auditor.inbound.internal.service; exports io.github.tkaczenko.auditor.inbound.api; requires auditor.core; diff --git a/auditor.outbound/src/main/java/module-info.java b/auditor.outbound/src/main/java/module-info.java index a5436ec..081b861 100644 --- a/auditor.outbound/src/main/java/module-info.java +++ b/auditor.outbound/src/main/java/module-info.java @@ -6,9 +6,9 @@ module auditor.outbound { exports io.github.tkaczenko.auditor.outbound; exports io.github.tkaczenko.auditor.outbound.config; - exports io.github.tkaczenko.auditor.outbound.api; + exports io.github.tkaczenko.auditor.outbound.api; - requires auditor.core; + requires auditor.core; requires static lombok; requires org.slf4j; requires java.xml; From b718a136afe3e166159ba992af019209f9a9e16e Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Thu, 28 Nov 2024 15:38:25 +0000 Subject: [PATCH 08/17] Updated auditor.java-conventions.gradle.kts --- .../src/main/kotlin/auditor.java-conventions.gradle.kts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts index 1668369..443324b 100644 --- a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts @@ -62,6 +62,7 @@ checkstyle { } pmd { + threads = 4 ruleSets = listOf("rulesets/java/quickstart.xml") toolVersion = "7.2.0" } @@ -81,6 +82,12 @@ tasks { useJUnitPlatform() finalizedBy(jacocoTestReport) + + systemProperties( + "junit.jupiter.execution.parallel.enabled" to "true", + "junit.jupiter.execution.parallel.mode.default" to "same_thread", + "junit.jupiter.execution.parallel.mode.classes.default" to "concurrent", + ) } jacocoTestReport { From cc4625515089f389c749a0fc624e59a9909372df Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Thu, 28 Nov 2024 15:48:44 +0000 Subject: [PATCH 09/17] Removed maxParallelForks --- buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts | 2 -- 1 file changed, 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts index 443324b..7dce679 100644 --- a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts @@ -77,8 +77,6 @@ tasks { } test { - maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).takeIf { it > 0 } ?: 1 - useJUnitPlatform() finalizedBy(jacocoTestReport) From 8e3819ed3a95f262b001d471ec5d3b383c5d7906 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Fri, 29 Nov 2024 09:09:21 +0000 Subject: [PATCH 10/17] Removed scan from ci.yml --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18cb6a3..deab0fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: restore-keys: ${{ runner.os }}-sonar - name: Build with Gradle - run: ./gradlew -q --no-daemon --scan build + run: ./gradlew -q --no-daemon build - name: Publish Test Report uses: mikepenz/action-junit-report@v4 @@ -144,7 +144,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Publish with Gradle - run: ./gradlew -q --no-daemon --scan publish + run: ./gradlew -q --no-daemon publish - name: Release with Gradle - run: ./gradlew -q --no-daemon --scan jreleaserFullRelease --no-configuration-cache --full-stacktrace \ No newline at end of file + run: ./gradlew -q --no-daemon jreleaserFullRelease --no-configuration-cache --full-stacktrace \ No newline at end of file From 9828d81631a98caef729b0cb784cec00fa8271ff Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Fri, 29 Nov 2024 17:46:53 +0000 Subject: [PATCH 11/17] Updated Gradle configs. Updated tests in demo to be run in parallel --- .../auditor.java-conventions.gradle.kts | 6 ++ .../auditor/demo/AbstractIntegrationTest.java | 4 - .../inbound/api/InboundIntegrationTests.java | 4 + .../api/MultiInboundIntegrationTests.java | 92 ++++++++++++------- .../OutboundRestTemplateIntegrationTests.java | 4 + .../api/OutboundFeignIntegrationTests.java | 4 + .../InheritedTransactionRemover.java | 19 ++++ gradle.properties | 1 - 8 files changed, 97 insertions(+), 37 deletions(-) create mode 100644 demo/src/test/java/org/springframework/test/context/transaction/InheritedTransactionRemover.java diff --git a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts index 7dce679..031a121 100644 --- a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts @@ -76,7 +76,13 @@ tasks { options.isFork = true } + withType().configureEach { + (options as StandardJavadocDocletOptions).addStringOption("Xdoclint:accessibility,html,-missing", "-quiet") + } + test { + maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).takeIf { it > 0 } ?: 1 + useJUnitPlatform() finalizedBy(jacocoTestReport) diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/AbstractIntegrationTest.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/AbstractIntegrationTest.java index bab0623..e6b7562 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/AbstractIntegrationTest.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/AbstractIntegrationTest.java @@ -8,13 +8,9 @@ import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability; -import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.MediaType; -import org.springframework.test.context.ActiveProfiles; -@ActiveProfiles("test") -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @AutoConfigureObservability @Slf4j @SuppressWarnings("checkstyle:VisibilityModifierCheck") diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/InboundIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/InboundIntegrationTests.java index 002dd12..12d0397 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/InboundIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/InboundIntegrationTests.java @@ -12,11 +12,15 @@ import org.hamcrest.CoreMatchers; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.HttpStatus; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.jdbc.Sql; import org.springframework.transaction.annotation.Transactional; @Transactional +@ActiveProfiles("test") +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @DisplayName("InboundIntegrationTests " + InboundIntegrationTests.TEST_URL + " ") public class InboundIntegrationTests extends AbstractIntegrationTest { diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java index 6aa5a12..3eb0260 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java @@ -11,18 +11,32 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.function.Consumer; import lombok.SneakyThrows; import org.hamcrest.CoreMatchers; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.context.annotation.Bean; import org.springframework.http.HttpStatus; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.jdbc.Sql; +import org.springframework.transaction.annotation.Transactional; +@ActiveProfiles("test") +@SpringBootTest( + webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, + properties = "server.tomcat.threads.max=1") @DisplayName("MultiInboundIntegrationTests " + MultiInboundIntegrationTests.TEST_URL + " ") public class MultiInboundIntegrationTests extends AbstractIntegrationTest { public static final String TEST_URL = "/test/inbound"; + @Autowired + private MultiInboundService multiInboundService; + @Override protected void stubScenario( String scenario, String from, String to, IntegrationTestScenario.Provider provider) { @@ -46,43 +60,57 @@ protected void verifyApiResponseBody( @DisplayName("when inbound request comes -> should save AuditRecord and return 200") void whenInboundRequestComesShouldSaveAuditRecordAndReturn200() { try (ExecutorService executor = Executors.newSingleThreadExecutor()) { - CompletableFuture.runAsync(this::executeFirst, executor) - .thenRunAsync(this::executeSecond, executor) + CompletableFuture.runAsync(() -> this.multiInboundService.executeFirst(this::runAndVerify), executor) + .thenRunAsync(() -> this.multiInboundService.executeSecond(this::runAndVerify), executor) .join(); } } - @SneakyThrows - private void executeFirst() { - runAndVerify( - IntegrationTestScenario.builder() - .api( - IntegrationTestScenario.Api.builder() - .url(TEST_URL) - .status(HttpStatus.OK) - .requestBody(readSystemResource(Multi.INBOUND_MULTI_1_SUCCESS_REQUEST)) - .responseBody( - Response.class, - readSystemResource(Multi.INBOUND_MULTI_1_SUCCESS_RESPONSE)) - .build()) - .expectedTransactionId("transactionId6") - .build()); + @TestConfiguration + static class TestConfig { + @Bean + public MultiInboundService multiInboundService() { + return new MultiInboundService(); + } } - @SneakyThrows - private void executeSecond() { - runAndVerify( - IntegrationTestScenario.builder() - .api( - IntegrationTestScenario.Api.builder() - .url(TEST_URL) - .status(HttpStatus.OK) - .requestBody(readSystemResource(Multi.INBOUND_MULTI_2_SUCCESS_REQUEST)) - .responseBody( - Response.class, - readSystemResource(Multi.INBOUND_MULTI_2_SUCCESS_RESPONSE)) - .build()) - .expectedTransactionId("transactionId8") - .build()); + static class MultiInboundService { + + @Transactional + @SneakyThrows + public void executeFirst(Consumer runAndVerify) { + runAndVerify.accept( + IntegrationTestScenario.builder() + .api( + IntegrationTestScenario.Api.builder() + .url(MultiInboundIntegrationTests.TEST_URL) + .status(HttpStatus.OK) + .requestBody(readSystemResource(Multi.INBOUND_MULTI_1_SUCCESS_REQUEST)) + .responseBody( + Response.class, + readSystemResource(Multi.INBOUND_MULTI_1_SUCCESS_RESPONSE)) + .build()) + .expectedTransactionId("transactionId6") + .build()); + } + + @Transactional + @SneakyThrows + public void executeSecond(Consumer runAndVerify) { + runAndVerify.accept( + IntegrationTestScenario.builder() + .api( + IntegrationTestScenario.Api.builder() + .url(MultiInboundIntegrationTests.TEST_URL) + .status(HttpStatus.OK) + .requestBody(readSystemResource(Multi.INBOUND_MULTI_2_SUCCESS_REQUEST)) + .responseBody( + Response.class, + readSystemResource(Multi.INBOUND_MULTI_2_SUCCESS_RESPONSE)) + .build()) + .expectedTransactionId("transactionId8") + .build()); + } } + } diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/OutboundRestTemplateIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/OutboundRestTemplateIntegrationTests.java index 28c0126..7904961 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/OutboundRestTemplateIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/api/OutboundRestTemplateIntegrationTests.java @@ -20,15 +20,19 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.jdbc.Sql; import org.springframework.transaction.annotation.Transactional; @Transactional +@ActiveProfiles("test") +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @AutoConfigureWireMock(port = 0) @TestPropertySource( properties = "demo-client.url=http://localhost:${wiremock.server.port}/demo-client") diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/api/OutboundFeignIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/api/OutboundFeignIntegrationTests.java index 081a356..94ef213 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/api/OutboundFeignIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/outbound/feign/api/OutboundFeignIntegrationTests.java @@ -21,15 +21,19 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.jdbc.Sql; import org.springframework.transaction.annotation.Transactional; @Transactional +@ActiveProfiles("test") +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @AutoConfigureWireMock(port = 0) @TestPropertySource(properties = "feign.url=http://localhost:${wiremock.server.port}/feign") @DisplayName("OutboundFeignIntegrationTests " + OutboundFeignIntegrationTests.TEST_URL + " ") diff --git a/demo/src/test/java/org/springframework/test/context/transaction/InheritedTransactionRemover.java b/demo/src/test/java/org/springframework/test/context/transaction/InheritedTransactionRemover.java new file mode 100644 index 0000000..749e94e --- /dev/null +++ b/demo/src/test/java/org/springframework/test/context/transaction/InheritedTransactionRemover.java @@ -0,0 +1,19 @@ +package org.springframework.test.context.transaction; + +import org.springframework.core.annotation.Order; +import org.springframework.test.context.TestContext; +import org.springframework.test.context.TestExecutionListener; + +// Workaround from https://github.com/spring-projects/spring-framework/issues/33383 +@Order(3000) // TransactionalTestExecutionListener is order 4000 +public class InheritedTransactionRemover implements TestExecutionListener { + private final ThreadLocal transactionRemoved = ThreadLocal.withInitial(() -> false); + + @Override + public void beforeTestMethod(TestContext testContext) { + if (!transactionRemoved.get()) { + TransactionContextHolder.removeCurrentTransactionContext(); + transactionRemoved.set(true); + } + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7fba0c8..d3a0185 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,5 @@ org.gradle.parallel=true org.gradle.daemon=true -org.gradle.configuration-cache=true org.gradle.jvmargs=-Xmx1512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:+UseStringDeduplication group=io.github.tkaczenko.auditor version=0.0.2 \ No newline at end of file From 97cf39bfbbef73a57a06380deb1e2b4d0f63ad1d Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Fri, 29 Nov 2024 18:10:32 +0000 Subject: [PATCH 12/17] Fixed PMDs in MultiInboundIntegrationTests --- .../inbound/api/MultiInboundIntegrationTests.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java index 3eb0260..a2ce644 100644 --- a/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java +++ b/demo/src/test/java/io/github/tkaczenko/auditor/demo/inbound/api/MultiInboundIntegrationTests.java @@ -34,8 +34,7 @@ public class MultiInboundIntegrationTests extends AbstractIntegrationTest { public static final String TEST_URL = "/test/inbound"; - @Autowired - private MultiInboundService multiInboundService; + @Autowired private MultiInboundService multiInboundService; @Override protected void stubScenario( @@ -60,7 +59,8 @@ protected void verifyApiResponseBody( @DisplayName("when inbound request comes -> should save AuditRecord and return 200") void whenInboundRequestComesShouldSaveAuditRecordAndReturn200() { try (ExecutorService executor = Executors.newSingleThreadExecutor()) { - CompletableFuture.runAsync(() -> this.multiInboundService.executeFirst(this::runAndVerify), executor) + CompletableFuture.runAsync( + () -> this.multiInboundService.executeFirst(this::runAndVerify), executor) .thenRunAsync(() -> this.multiInboundService.executeSecond(this::runAndVerify), executor) .join(); } @@ -83,7 +83,7 @@ public void executeFirst(Consumer runAndVerify) { IntegrationTestScenario.builder() .api( IntegrationTestScenario.Api.builder() - .url(MultiInboundIntegrationTests.TEST_URL) + .url(TEST_URL) .status(HttpStatus.OK) .requestBody(readSystemResource(Multi.INBOUND_MULTI_1_SUCCESS_REQUEST)) .responseBody( @@ -101,7 +101,7 @@ public void executeSecond(Consumer runAndVerify) { IntegrationTestScenario.builder() .api( IntegrationTestScenario.Api.builder() - .url(MultiInboundIntegrationTests.TEST_URL) + .url(TEST_URL) .status(HttpStatus.OK) .requestBody(readSystemResource(Multi.INBOUND_MULTI_2_SUCCESS_REQUEST)) .responseBody( @@ -112,5 +112,4 @@ public void executeSecond(Consumer runAndVerify) { .build()); } } - } From 4b338a38a78f78626ad7fb42b7055c87817e57fe Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Fri, 29 Nov 2024 18:15:14 +0000 Subject: [PATCH 13/17] Updated ci.yml --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index deab0fa..c4f76b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,7 @@ permissions: actions: write id-token: write contents: write + checks: write concurrency: # On master, we don't want any jobs cancelled so the sha is used to name the group From 548c455682f74b36a0774440026d1bc901e55b33 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Fri, 29 Nov 2024 18:27:21 +0000 Subject: [PATCH 14/17] Updated auditor.java-conventions.gradle.kts --- buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts index 031a121..1be072f 100644 --- a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts @@ -77,7 +77,7 @@ tasks { } withType().configureEach { - (options as StandardJavadocDocletOptions).addStringOption("Xdoclint:accessibility,html,-missing", "-quiet") + (options as StandardJavadocDocletOptions).addStringOption("Xdoclint:none", "-quiet") } test { From 15adba243fe2e094a652ee7b32e3e71c07d6a819 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Fri, 29 Nov 2024 18:54:44 +0000 Subject: [PATCH 15/17] Updated build settings --- build.gradle.kts | 1 + buildSrc/build.gradle.kts | 1 + gradle.properties | 1 + 3 files changed, 3 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 0ab840f..37a909f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,6 +20,7 @@ It facilitates debugging, compliance, and security analysis by offering detailed """.trimIndent() repositories { + mavenLocal() mavenCentral() } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index d3b3508..0691d13 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -4,6 +4,7 @@ plugins { repositories { gradlePluginPortal() + mavenLocal() mavenCentral() } diff --git a/gradle.properties b/gradle.properties index d3a0185..7fba0c8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ org.gradle.parallel=true org.gradle.daemon=true +org.gradle.configuration-cache=true org.gradle.jvmargs=-Xmx1512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseG1GC -XX:+UseStringDeduplication group=io.github.tkaczenko.auditor version=0.0.2 \ No newline at end of file From c72d48a14007aeee467e64e93edfa9c1184696f7 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Thu, 5 Dec 2024 14:23:14 +0000 Subject: [PATCH 16/17] Removed maxParallelForks. Reason being, it's slower than Jupiter execution --- buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts | 2 -- 1 file changed, 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts index 1be072f..0e59838 100644 --- a/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/auditor.java-conventions.gradle.kts @@ -81,8 +81,6 @@ tasks { } test { - maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).takeIf { it > 0 } ?: 1 - useJUnitPlatform() finalizedBy(jacocoTestReport) From 6543560ccb6256b3c6a91235e232ad0d0b0f2b63 Mon Sep 17 00:00:00 2001 From: Andrii Tkachenko Date: Thu, 5 Dec 2024 21:29:36 +0000 Subject: [PATCH 17/17] Updated ci.yml --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4f76b2..04c506f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,7 +92,7 @@ jobs: restore-keys: ${{ runner.os }}-sonar - name: Build with Gradle - run: ./gradlew -q --no-daemon build + run: ./gradlew -q build - name: Publish Test Report uses: mikepenz/action-junit-report@v4 @@ -145,7 +145,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Publish with Gradle - run: ./gradlew -q --no-daemon publish + run: ./gradlew -q publish - name: Release with Gradle - run: ./gradlew -q --no-daemon jreleaserFullRelease --no-configuration-cache --full-stacktrace \ No newline at end of file + run: ./gradlew -q jreleaserFullRelease --no-configuration-cache --full-stacktrace \ No newline at end of file