From ef18e20a850dc7b6f51926583dac317cac60eb13 Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Fri, 10 Apr 2026 14:35:16 +0100 Subject: [PATCH 1/6] refactor: add flamingock-cloud-api with basic requests/responses --- .github/workflows/release.yml | 20 +++++- .../flamingock.project-structure.gradle.kts | 7 ++- .../kotlin/flamingock.publishing.gradle.kts | 4 +- cloud/flamingock-cloud-api/build.gradle.kts | 10 +++ .../cloud/api}/request/ClientSubmission.java | 2 +- .../api}/request/ExecutionPlanRequest.java | 2 +- .../cloud/api}/request/StageRequest.java | 2 +- .../cloud/api}/request/TaskRequest.java | 4 +- .../api}/response/CloudChangeAction.java | 2 +- .../api}/response/ExecutionPlanResponse.java | 4 +- .../cloud/api}/response/LockResponse.java | 2 +- .../cloud/api}/response/StageResponse.java | 2 +- .../cloud/api}/response/TaskResponse.java | 2 +- .../cloud/api}/vo/ActionResponse.java | 2 +- .../api}/vo/TargetSystemAuditMarkType.java | 2 +- cloud/flamingock-cloud-bom/build.gradle.kts | 31 --------- cloud/flamingock-cloud/build.gradle.kts | 1 + .../planner/CloudExecutionPlanMapper.java | 16 ++--- .../cloud/planner/CloudExecutionPlanner.java | 6 +- .../client/ExecutionPlannerClient.java | 4 +- .../client/HttpExecutionPlannerClient.java | 4 +- .../core/cloud/CloudTransactionTest.java | 2 +- core/flamingock-bom/build.gradle.kts | 63 +++++++++++++++++++ core/flamingock-core-commons/build.gradle.kts | 1 + .../audit/domain/AuditContextBundle.java | 2 +- .../targets/mark/TargetSystemAuditMark.java | 2 +- .../targets/mark/TargetSystemAuditMarker.java | 2 +- .../CouchbaseTargetSystemAuditMarker.java | 2 +- .../couchbase/CouchbaseTargetSystemTest.java | 2 +- .../couchbase/CouchbaseTestHelper.java | 2 +- .../dynamodb/OngoingTaskEntity.java | 2 +- .../DynamoDBCloudTargetSystemTest.java | 2 +- .../MongoDBSpringDataTargetSystemTest.java | 2 +- .../mongodb/springdata/MongoDBTestHelper.java | 2 +- .../MongoDBSyncTargetSystemAuditMarker.java | 2 +- .../sync/MongoDBSyncTargetSystemTest.java | 2 +- .../mongodb/sync/MongoDBTestHelper.java | 2 +- .../sql/SqlAuditMarkerDialectHelperTest.java | 5 +- .../targetsystem/sql/SqlTargetSystemTest.java | 2 +- settings.gradle.kts | 10 ++- utils/test-util/build.gradle.kts | 1 + .../common/test/cloud/MockRunnerServer.java | 10 +-- .../cloud/deprecated/MockRunnerServerOld.java | 18 +++--- .../cloud/mock/MockExecutionPlanBuilder.java | 20 +++--- .../cloud/mock/MockRequestResponseTask.java | 4 +- .../test/cloud/prototype/PrototypeTask.java | 8 +-- 46 files changed, 182 insertions(+), 117 deletions(-) create mode 100644 cloud/flamingock-cloud-api/build.gradle.kts rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/request/ClientSubmission.java (93%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/request/ExecutionPlanRequest.java (95%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/request/StageRequest.java (94%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/request/TaskRequest.java (93%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/response/CloudChangeAction.java (95%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/response/ExecutionPlanResponse.java (95%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/response/LockResponse.java (95%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/response/StageResponse.java (95%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/response/TaskResponse.java (94%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/vo/ActionResponse.java (93%) rename {core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud => cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api}/vo/TargetSystemAuditMarkType.java (93%) delete mode 100644 cloud/flamingock-cloud-bom/build.gradle.kts create mode 100644 core/flamingock-bom/build.gradle.kts diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e72dcba7a..6c064dc80 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,6 +96,19 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} + flamingock-bom: + needs: [ build ] + uses: ./.github/workflows/module-release-graalvm.yml + with: + module: flamingock-bom + secrets: + FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} + FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} + FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_PASSWORD }} + FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PUBLIC_KEY }} + FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} + FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} + flamingock-cloud: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml @@ -109,11 +122,11 @@ jobs: FLAMINGOCK_JRELEASER_GPG_SECRET_KEY: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_SECRET_KEY }} FLAMINGOCK_JRELEASER_GPG_PASSPHRASE: ${{ secrets.FLAMINGOCK_JRELEASER_GPG_PASSPHRASE }} - flamingock-cloud-bom: + flamingock-cloud-api: needs: [ build ] uses: ./.github/workflows/module-release-graalvm.yml with: - module: flamingock-cloud-bom + module: flamingock-cloud-api secrets: FLAMINGOCK_JRELEASER_GITHUB_TOKEN: ${{ secrets.FLAMINGOCK_JRELEASER_GITHUB_TOKEN }} FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.FLAMINGOCK_JRELEASER_MAVENCENTRAL_USERNAME }} @@ -533,8 +546,9 @@ jobs: flamingock-core-commons, flamingock-processor, flamingock-graalvm, + flamingock-bom, flamingock-cloud, - flamingock-cloud-bom, + flamingock-cloud-api, flamingock-community, flamingock-community-bom, flamingock-mongodb-sync-auditstore, diff --git a/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts b/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts index 2dc2053fb..008d2a098 100644 --- a/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts +++ b/buildSrc/src/main/kotlin/flamingock.project-structure.gradle.kts @@ -11,12 +11,13 @@ val coreProjects = setOf( "flamingock-template-api", "flamingock-processor", "flamingock-graalvm", - "flamingock-test-support" + "flamingock-test-support", + "flamingock-bom" ) val cloudProjects = setOf( "flamingock-cloud", - "flamingock-cloud-bom" + "flamingock-cloud-api" ) val communityProjects = setOf( @@ -76,7 +77,7 @@ val allProjects = coreProjects + cloudProjects + communityProjects + pluginProje // Project classification utilities fun Project.isBomModule(): Boolean = name.endsWith("-bom") -fun Project.isLibraryModule(): Boolean = name !in setOf("flamingock-community-bom", "flamingock-cloud-bom", "flamingock-community-bom") +fun Project.isLibraryModule(): Boolean = name !in setOf("flamingock-bom", "flamingock-community-bom") // Module category lookup fun Project.getProjectCategory(): String? = when (name) { diff --git a/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts b/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts index 06c56ce20..e3fff3606 100644 --- a/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts +++ b/buildSrc/src/main/kotlin/flamingock.publishing.gradle.kts @@ -5,8 +5,8 @@ plugins { fun Project.isBomModule(): Boolean = name.endsWith("-bom") fun Project.isLibraryModule(): Boolean = name !in setOf( - "flamingock-community-bom", - "flamingock-cloud-bom" + "flamingock-bom", + "flamingock-community-bom" ) val fromComponentPublishing = if (isBomModule()) "javaPlatform" else "java" diff --git a/cloud/flamingock-cloud-api/build.gradle.kts b/cloud/flamingock-cloud-api/build.gradle.kts new file mode 100644 index 000000000..915f06ea2 --- /dev/null +++ b/cloud/flamingock-cloud-api/build.gradle.kts @@ -0,0 +1,10 @@ +dependencies { +} + +description = "Cloud Edition public API definitions" + +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(8)) + } +} diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ClientSubmission.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java similarity index 93% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ClientSubmission.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java index d8d338070..5a37b6c35 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ClientSubmission.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; import java.util.List; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ExecutionPlanRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java similarity index 95% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ExecutionPlanRequest.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java index d0cc766e8..e91323603 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/ExecutionPlanRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; import java.util.List; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/StageRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java similarity index 94% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/StageRequest.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java index 61d4bb4f1..5c0dfcd1c 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/StageRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; import java.util.List; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/TaskRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java similarity index 93% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/TaskRequest.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java index 3de025765..a170d235b 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/request/TaskRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.request; +package io.flamingock.cloud.api.request; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; //TODO add recoveryStrategy, so we can determin the acction in the server public class TaskRequest { diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/CloudChangeAction.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/CloudChangeAction.java similarity index 95% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/CloudChangeAction.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/CloudChangeAction.java index b6a14c01c..90f0b364f 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/CloudChangeAction.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/CloudChangeAction.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; /** diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/ExecutionPlanResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java similarity index 95% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/ExecutionPlanResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java index 25f59583a..9341bc6c8 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/ExecutionPlanResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; -import io.flamingock.internal.common.cloud.vo.ActionResponse; +import io.flamingock.cloud.api.vo.ActionResponse; import java.util.Collections; import java.util.List; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/LockResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockResponse.java similarity index 95% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/LockResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockResponse.java index e54e6307f..8ccf896e1 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/LockResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; public class LockResponse { diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/StageResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java similarity index 95% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/StageResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java index 5cb3e8957..09fb7bbd9 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/StageResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; import java.util.List; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/TaskResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java similarity index 94% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/TaskResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java index 89ee60495..b5788988e 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/planner/response/TaskResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.planner.response; +package io.flamingock.cloud.api.response; public class TaskResponse { private String id; diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/ActionResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ActionResponse.java similarity index 93% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/ActionResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ActionResponse.java index 1d722305e..9ae3326b9 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/ActionResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ActionResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.vo; +package io.flamingock.cloud.api.vo; public enum ActionResponse { CONTINUE, EXECUTE, AWAIT diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/TargetSystemAuditMarkType.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java similarity index 93% rename from core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/TargetSystemAuditMarkType.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java index 57751cde6..042bb61f2 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/cloud/vo/TargetSystemAuditMarkType.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.internal.common.cloud.vo; +package io.flamingock.cloud.api.vo; public enum TargetSystemAuditMarkType { NONE, APPLIED, ROLLBACK diff --git a/cloud/flamingock-cloud-bom/build.gradle.kts b/cloud/flamingock-cloud-bom/build.gradle.kts deleted file mode 100644 index 4cef8ad15..000000000 --- a/cloud/flamingock-cloud-bom/build.gradle.kts +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - `java-platform` -} - -dependencies { - constraints { - // Add constraints for BOM managed modules - api("io.flamingock:flamingock-cloud:${version}") - api("io.flamingock:flamingock-test-support:${version}") - - //target systems - api("io.flamingock:flamingock-nontransactional-targetsystem:${version}") - api("io.flamingock:flamingock-mongodb-externalsystem-api:${version}") - api("io.flamingock:flamingock-mongodb-sync-targetsystem:${version}") - api("io.flamingock:flamingock-mongodb-springdata-targetsystem:${version}") - api("io.flamingock:flamingock-sql-externalsystem-api:${version}") - api("io.flamingock:flamingock-sql-targetsystem:${version}") - api("io.flamingock:flamingock-dynamodb-externalsystem-api:${version}") - api("io.flamingock:flamingock-dynamodb-targetsystem:${version}") - api("io.flamingock:flamingock-couchbase-externalsystem-api:${version}") - api("io.flamingock:flamingock-couchbase-targetsystem:${version}") - api("io.flamingock:flamingock-sql-template:$version") - api("io.flamingock:flamingock-mongodb-sync-template:${version}") - api("io.flamingock:flamingock-springboot-integration:${version}") - api("io.flamingock:flamingock-springboot-test-support:${version}") - api("io.flamingock:flamingock-graalvm:${version}") - api("io.flamingock:mongock-support:${version}") - } -} - -description = "Bill of Materials for Cloud Edition dependency management" diff --git a/cloud/flamingock-cloud/build.gradle.kts b/cloud/flamingock-cloud/build.gradle.kts index c0e2e0612..cad2b6b01 100644 --- a/cloud/flamingock-cloud/build.gradle.kts +++ b/cloud/flamingock-cloud/build.gradle.kts @@ -1,6 +1,7 @@ val coreApiVersion: String by extra dependencies { // Core + api(project(":cloud:flamingock-cloud-api")) implementation(project(":core:flamingock-core")) api("io.flamingock:flamingock-core-api:${coreApiVersion}") // target systems diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java index 66a75a730..64b3ca951 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java @@ -17,14 +17,14 @@ import io.flamingock.internal.util.id.RunnerId; import io.flamingock.internal.util.TimeService; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; -import io.flamingock.internal.common.cloud.planner.request.TaskRequest; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.planner.response.CloudChangeAction; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.StageRequest; +import io.flamingock.cloud.api.request.TaskRequest; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.response.CloudChangeAction; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.cloud.lock.CloudLockService; import io.flamingock.internal.core.configuration.core.CoreConfigurable; import io.flamingock.internal.common.core.recovery.action.ChangeAction; diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java index 66da10c9e..996695816 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanner.java @@ -20,9 +20,9 @@ import io.flamingock.internal.util.ThreadSleeper; import io.flamingock.internal.util.TimeService; import io.flamingock.internal.common.core.error.FlamingockException; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.cloud.lock.CloudLockService; import io.flamingock.cloud.planner.client.ExecutionPlannerClient; diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java index 709aad4ef..479da21b9 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/ExecutionPlannerClient.java @@ -15,8 +15,8 @@ */ package io.flamingock.cloud.planner.client; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; public interface ExecutionPlannerClient { diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java index 19a70063c..2ff03bdc7 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/client/HttpExecutionPlannerClient.java @@ -16,8 +16,8 @@ package io.flamingock.cloud.planner.client; import io.flamingock.cloud.auth.AuthManager; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; import io.flamingock.internal.util.id.EnvironmentId; import io.flamingock.internal.util.id.ServiceId; import io.flamingock.internal.util.id.RunnerId; diff --git a/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java b/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java index 1ec0a38f5..50970096e 100644 --- a/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java +++ b/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudTransactionTest.java @@ -23,7 +23,7 @@ import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.common.cloud.audit.AuditEntryRequest; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.builder.runner.Runner; import org.junit.jupiter.api.AfterEach; diff --git a/core/flamingock-bom/build.gradle.kts b/core/flamingock-bom/build.gradle.kts new file mode 100644 index 000000000..d3b8f9567 --- /dev/null +++ b/core/flamingock-bom/build.gradle.kts @@ -0,0 +1,63 @@ +val sqlVersion: String by extra +val mongodbTemplateVersion: String by extra +val coreApiVersion: String by extra +val generalUtilVersion: String by extra +val templateApiVersion: String by extra + +plugins { + `java-platform` +} + +dependencies { + constraints { + // Flamingock Core + api("io.flamingock:flamingock-general-util:${generalUtilVersion}") + api("io.flamingock:flamingock-core-api:${coreApiVersion}") + api("io.flamingock:flamingock-template-api:${templateApiVersion}") + api("io.flamingock:flamingock-test-support:${version}") + api("io.flamingock:flamingock-nontransactional-targetsystem:${version}") + + //Flamingock Cloud + api("io.flamingock:flamingock-cloud:${version}") + api("io.flamingock:flamingock-cloud-api:${version}") + + // Flamingock Community + api("io.flamingock:flamingock-community:${version}") + api("io.flamingock:flamingock-mongodb-sync-auditstore:$version") + api("io.flamingock:flamingock-mongodb-springdata-auditstore:${version}") + api("io.flamingock:flamingock-couchbase-auditstore:$version") + api("io.flamingock:flamingock-dynamodb-auditstore:$version") + api("io.flamingock:flamingock-sql-auditstore:$version") + + // Springboot + api("io.flamingock:flamingock-springboot-integration:${version}") + api("io.flamingock:flamingock-springboot-test-support:${version}") + api("io.flamingock:flamingock-graalvm:${version}") + + // Mongock + api("io.flamingock:mongock-support:${version}") + + // Sql + api("io.flamingock:flamingock-sql-util:${sqlVersion}") + api("io.flamingock:flamingock-sql-targetsystem:${version}") + api("io.flamingock:flamingock-sql-externalsystem-api:${version}") + api("io.flamingock:flamingock-sql-test-util:${sqlVersion}") + api("io.flamingock:flamingock-sql-template:${sqlVersion}") + + // Mongodb + api("io.flamingock:flamingock-mongodb-externalsystem-api:${version}") + api("io.flamingock:flamingock-mongodb-sync-targetsystem:${version}") + api("io.flamingock:flamingock-mongodb-springdata-targetsystem:${version}") + api("io.flamingock:flamingock-mongodb-sync-template:${mongodbTemplateVersion}") + + // Dynamodb + api("io.flamingock:flamingock-dynamodb-externalsystem-api:${version}") + api("io.flamingock:flamingock-dynamodb-targetsystem:${version}") + + // Couchbase + api("io.flamingock:flamingock-couchbase-externalsystem-api:${version}") + api("io.flamingock:flamingock-couchbase-targetsystem:${version}") + } +} + +description = "Bill of Materials for Flamingock dependency management" diff --git a/core/flamingock-core-commons/build.gradle.kts b/core/flamingock-core-commons/build.gradle.kts index 355b3feb3..9ce946521 100644 --- a/core/flamingock-core-commons/build.gradle.kts +++ b/core/flamingock-core-commons/build.gradle.kts @@ -2,6 +2,7 @@ val jacksonVersion = "2.16.0" val generalUtilVersion: String by extra val coreApiVersion: String by extra dependencies { + api(project(":cloud:flamingock-cloud-api")) api("io.flamingock:flamingock-core-api:${coreApiVersion}") api("io.flamingock:flamingock-general-util:${generalUtilVersion}")//todo implementation api("jakarta.annotation:jakarta.annotation-api:2.1.1")//todo can this be implementation? diff --git a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java index fe73e9476..cc7ffb364 100644 --- a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java +++ b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/store/audit/domain/AuditContextBundle.java @@ -18,7 +18,7 @@ import io.flamingock.internal.common.core.audit.AuditTxType; import io.flamingock.internal.util.ThrowableUtil; import io.flamingock.internal.common.core.audit.AuditEntry; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.pipeline.execution.ExecutionContext; import io.flamingock.internal.core.task.loaded.AbstractLoadedTask; import io.flamingock.internal.core.task.loaded.AbstractTemplateLoadedChange; diff --git a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java index 65a19c832..814385e69 100644 --- a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java +++ b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMark.java @@ -15,7 +15,7 @@ */ package io.flamingock.internal.core.external.targets.mark; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; public class TargetSystemAuditMark { diff --git a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java index edf3a9e82..e6eeffc6e 100644 --- a/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java +++ b/core/flamingock-core/src/main/java/io/flamingock/internal/core/external/targets/mark/TargetSystemAuditMarker.java @@ -15,7 +15,7 @@ */ package io.flamingock.internal.core.external.targets.mark; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.core.error.FlamingockException; import io.flamingock.internal.core.task.executable.ExecutableTask; import java.util.Set; diff --git a/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java b/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java index e39d3144c..774cf6cc9 100644 --- a/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java +++ b/core/target-systems/flamingock-couchbase-targetsystem/src/main/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemAuditMarker.java @@ -25,7 +25,7 @@ import com.couchbase.client.java.query.QueryScanConsistency; import com.couchbase.client.java.transactions.TransactionAttemptContext; import com.couchbase.client.java.transactions.TransactionGetResult; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.couchbase.CouchbaseCollectionHelper; import io.flamingock.internal.common.couchbase.CouchbaseCollectionInitializator; import io.flamingock.internal.util.constants.CommunityPersistenceConstants; diff --git a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java index 5e4c18ab4..4e996d035 100644 --- a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java +++ b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTargetSystemTest.java @@ -27,7 +27,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.common.core.util.Deserializer; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.couchbase.CouchbaseCollectionHelper; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.core.builder.FlamingockFactory; diff --git a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java index db415f7b8..820793eb1 100644 --- a/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java +++ b/core/target-systems/flamingock-couchbase-targetsystem/src/test/java/io/flamingock/targetsystem/couchbase/CouchbaseTestHelper.java @@ -20,7 +20,7 @@ import com.couchbase.client.java.Cluster; import com.couchbase.client.java.Collection; import com.couchbase.client.java.json.JsonObject; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.couchbase.CouchbaseCollectionHelper; import io.flamingock.internal.common.couchbase.CouchbaseCollectionInitializator; import io.flamingock.internal.core.external.store.audit.domain.AuditContextBundle; diff --git a/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java b/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java index 4cf9e5ad0..a86a6e7df 100644 --- a/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java +++ b/core/target-systems/flamingock-dynamodb-targetsystem/src/main/java/io/flamingock/targetsystem/dynamodb/OngoingTaskEntity.java @@ -15,7 +15,7 @@ */ package io.flamingock.targetsystem.dynamodb; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute; import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean; diff --git a/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java b/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java index 6c51d525b..87d59f315 100644 --- a/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java +++ b/core/target-systems/flamingock-dynamodb-targetsystem/src/test/java/io/flamingock/targetsystem/dynamodb/DynamoDBCloudTargetSystemTest.java @@ -29,7 +29,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java index bd8bd9f9d..d6b363720 100644 --- a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java +++ b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBSpringDataTargetSystemTest.java @@ -33,7 +33,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java index 8ff004367..f90623eaa 100644 --- a/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java +++ b/core/target-systems/flamingock-mongodb-springdata-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/springdata/MongoDBTestHelper.java @@ -17,7 +17,7 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.external.store.audit.domain.AuditContextBundle; import io.flamingock.internal.common.mongodb.CollectionInitializator; diff --git a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java index 1724d64a3..a48744034 100644 --- a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java +++ b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/main/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemAuditMarker.java @@ -26,7 +26,7 @@ import io.flamingock.internal.util.constants.CommunityPersistenceConstants; import io.flamingock.internal.common.mongodb.MongoDBSyncCollectionHelper; import io.flamingock.internal.common.mongodb.MongoDBSyncDocumentHelper; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.mongodb.CollectionInitializator; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMarker; diff --git a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java index 17abb1ca3..14acf40bc 100644 --- a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java +++ b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBSyncTargetSystemTest.java @@ -33,7 +33,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java index fcc58a7a3..b4b78abd8 100644 --- a/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java +++ b/core/target-systems/flamingock-mongodb-sync-targetsystem/src/test/java/io/flamingock/targetsystem/mongodb/sync/MongoDBTestHelper.java @@ -20,7 +20,7 @@ import io.flamingock.internal.util.constants.CommunityPersistenceConstants; import io.flamingock.internal.common.mongodb.MongoDBSyncCollectionHelper; import io.flamingock.internal.common.mongodb.MongoDBSyncDocumentHelper; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.external.store.audit.domain.AuditContextBundle; import io.flamingock.internal.common.mongodb.CollectionInitializator; diff --git a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java index bd0d1dbaf..b70068226 100644 --- a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java +++ b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlAuditMarkerDialectHelperTest.java @@ -17,6 +17,7 @@ import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.sql.SqlDialect; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.transaction.TransactionManager; @@ -174,7 +175,7 @@ void addOngoingTaskMark(SqlDialect dialect) { // GIVEN String taskId1 = "test-task-id1"; String taskId2 = "test-task-id2"; - io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType operation = io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType.ROLLBACK; + TargetSystemAuditMarkType operation = TargetSystemAuditMarkType.ROLLBACK; TargetSystemAuditMark mark1 = new TargetSystemAuditMark(taskId1, operation); TargetSystemAuditMark mark2 = new TargetSystemAuditMark(taskId2, operation); @@ -220,7 +221,7 @@ void removeOngoingTaskMark(SqlDialect dialect) { // GIVEN String taskId1 = "test-task-id1"; String taskId2 = "test-task-id2"; - io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType operation = io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType.ROLLBACK; + TargetSystemAuditMarkType operation = TargetSystemAuditMarkType.ROLLBACK; TargetSystemAuditMark mark1 = new TargetSystemAuditMark(taskId1, operation); TargetSystemAuditMark mark2 = new TargetSystemAuditMark(taskId2, operation); diff --git a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java index 0c62eaa04..cd2fb1321 100644 --- a/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java +++ b/core/target-systems/flamingock-sql-targetsystem/src/test/java/io/flamingock/targetsystem/sql/SqlTargetSystemTest.java @@ -29,7 +29,7 @@ import io.flamingock.common.test.cloud.prototype.PrototypeClientSubmission; import io.flamingock.common.test.cloud.prototype.PrototypeStage; import io.flamingock.internal.util.Trio; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; diff --git a/settings.gradle.kts b/settings.gradle.kts index 2847618ed..c12ee0135 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -28,6 +28,10 @@ include("core:flamingock-test-support") project(":core:flamingock-test-support").name = "flamingock-test-support" project(":core:flamingock-test-support").projectDir = file("core/flamingock-test-support") +include("core:flamingock-bom") +project(":core:flamingock-bom").name = "flamingock-bom" +project(":core:flamingock-bom").projectDir = file("core/flamingock-bom") + ////////////////////////////////////// // CLOUD @@ -36,9 +40,9 @@ include("cloud:flamingock-cloud") project(":cloud:flamingock-cloud").name = "flamingock-cloud" project(":cloud:flamingock-cloud").projectDir = file("cloud/flamingock-cloud") -include("cloud:flamingock-cloud-bom") -project(":cloud:flamingock-cloud-bom").name = "flamingock-cloud-bom" -project(":cloud:flamingock-cloud-bom").projectDir = file("cloud/flamingock-cloud-bom") +include("cloud:flamingock-cloud-api") +project(":cloud:flamingock-cloud-api").name = "flamingock-cloud-api" +project(":cloud:flamingock-cloud-api").projectDir = file("cloud/flamingock-cloud-api") ////////////////////////////////////// // COMMUNITY diff --git a/utils/test-util/build.gradle.kts b/utils/test-util/build.gradle.kts index ddf5bb7a6..fb528afb7 100644 --- a/utils/test-util/build.gradle.kts +++ b/utils/test-util/build.gradle.kts @@ -3,6 +3,7 @@ val generalUtilVersion: String by extra dependencies { api("io.flamingock:flamingock-general-util:${generalUtilVersion}") + api(project(":cloud:flamingock-cloud-api")) api(project(":core:flamingock-core")) api(project(":core:flamingock-core-commons")) api(project(":core:flamingock-processor")) diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java index 5ea31e5f8..bce308904 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java @@ -27,10 +27,10 @@ import io.flamingock.common.test.cloud.prototype.PrototypeTask; import io.flamingock.internal.common.cloud.auth.AuthRequest; import io.flamingock.internal.common.cloud.auth.AuthResponse; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; +import io.flamingock.cloud.api.request.StageRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; import io.flamingock.internal.common.core.audit.AuditEntry; import java.util.*; @@ -38,7 +38,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*; import static io.flamingock.common.test.cloud.utils.JsonMapper.toJson; -import static io.flamingock.internal.common.cloud.planner.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.response.CloudChangeAction.APPLY; public final class MockRunnerServer { diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java index 251a0fa0d..f7388ddaf 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java @@ -15,11 +15,11 @@ */ package io.flamingock.common.test.cloud.deprecated; -import io.flamingock.internal.common.cloud.planner.response.LockResponse; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.vo.ActionResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.response.LockResponse; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.vo.ActionResponse; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.core.audit.AuditEntry; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.client.ScenarioMappingBuilder; @@ -27,9 +27,9 @@ import com.github.tomakehurst.wiremock.stubbing.Scenario; import io.flamingock.internal.common.cloud.auth.AuthRequest; import io.flamingock.internal.common.cloud.auth.AuthResponse; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; import io.flamingock.internal.common.cloud.planner.request.TaskRequest; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.request.StageRequest; import io.flamingock.cloud.api.request.TaskRequest; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import java.util.*; @@ -37,7 +37,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*; import static io.flamingock.common.test.cloud.utils.JsonMapper.toJson; -import static io.flamingock.internal.common.cloud.planner.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.response.CloudChangeAction.APPLY; @Deprecated public final class MockRunnerServerOld { diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java index e328cd098..59a071d6b 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java @@ -20,21 +20,21 @@ import io.flamingock.common.test.cloud.execution.ExecutionAwaitRequestResponseMock; import io.flamingock.common.test.cloud.execution.ExecutionBaseRequestResponseMock; import io.flamingock.common.test.cloud.execution.ExecutionPlanRequestResponseMock; -import io.flamingock.internal.common.cloud.planner.request.ExecutionPlanRequest; -import io.flamingock.internal.common.cloud.planner.request.StageRequest; -import io.flamingock.internal.common.cloud.planner.request.TaskRequest; -import io.flamingock.internal.common.cloud.planner.response.ExecutionPlanResponse; -import io.flamingock.internal.common.cloud.planner.response.LockResponse; -import io.flamingock.internal.common.cloud.planner.response.StageResponse; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.vo.ActionResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.ExecutionPlanRequest; +import io.flamingock.cloud.api.request.StageRequest; +import io.flamingock.cloud.api.request.TaskRequest; +import io.flamingock.cloud.api.response.ExecutionPlanResponse; +import io.flamingock.cloud.api.response.LockResponse; +import io.flamingock.cloud.api.response.StageResponse; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.vo.ActionResponse; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import static io.flamingock.internal.common.cloud.planner.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.response.CloudChangeAction.APPLY; public class MockExecutionPlanBuilder { diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java index ac87c4fcc..7a4dbd73c 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java @@ -15,8 +15,8 @@ */ package io.flamingock.common.test.cloud.mock; -import io.flamingock.internal.common.cloud.planner.response.CloudChangeAction; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.response.CloudChangeAction; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; public class MockRequestResponseTask { private final String taskId; diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java index b3698001f..76b9dc9e2 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java @@ -17,10 +17,10 @@ import io.flamingock.common.test.cloud.deprecated.AuditEntryMatcher; import io.flamingock.internal.common.cloud.audit.AuditEntryRequest; -import io.flamingock.internal.common.cloud.planner.request.TaskRequest; -import io.flamingock.internal.common.cloud.planner.response.CloudChangeAction; -import io.flamingock.internal.common.cloud.planner.response.TaskResponse; -import io.flamingock.internal.common.cloud.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.request.TaskRequest; +import io.flamingock.cloud.api.response.CloudChangeAction; +import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; public class PrototypeTask { private final String taskId; From 650bc37349257718acbdd9b373286386cb7c9592 Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Fri, 10 Apr 2026 15:16:05 +0100 Subject: [PATCH 2/6] refactor: cloud request/response refactoring --- build.gradle.kts | 2 +- .../api/request/ExecutionPlanRequest.java | 2 +- .../api/response/ExecutionPlanResponse.java | 28 +++++++++---------- .../{LockResponse.java => LockInfo.java} | 4 +-- .../cloud/api/response/TaskResponse.java | 2 ++ .../{response => vo}/CloudChangeAction.java | 2 +- ...tionResponse.java => ExecutionAction.java} | 4 +-- .../planner/CloudExecutionPlanMapper.java | 2 +- .../common/test/cloud/MockRunnerServer.java | 2 +- .../cloud/deprecated/MockRunnerServerOld.java | 18 ++++++------ .../cloud/mock/MockExecutionPlanBuilder.java | 16 +++++------ .../cloud/mock/MockRequestResponseTask.java | 2 +- .../test/cloud/prototype/PrototypeTask.java | 2 +- 13 files changed, 44 insertions(+), 42 deletions(-) rename cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/{LockResponse.java => LockInfo.java} (96%) rename cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/{response => vo}/CloudChangeAction.java (96%) rename cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/{ActionResponse.java => ExecutionAction.java} (90%) diff --git a/build.gradle.kts b/build.gradle.kts index bf5d1dbd0..3864501c6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,7 +16,7 @@ plugins { allprojects { group = "io.flamingock" - version = "1.2.0-SNAPSHOT" + version = "1.3.0-SNAPSHOT" extra["generalUtilVersion"] = "1.5.1" extra["templateApiVersion"] = "1.3.2" diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java index e91323603..ec38430ca 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java @@ -19,9 +19,9 @@ public class ExecutionPlanRequest { + private final ClientSubmission clientSubmission; private final long lockAcquiredForMillis; - private final ClientSubmission clientSubmission; public ExecutionPlanRequest(long lockAcquiredForMillis, List stages) { this.lockAcquiredForMillis = lockAcquiredForMillis; diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java index 9341bc6c8..7bf623a6c 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionPlanResponse.java @@ -15,7 +15,7 @@ */ package io.flamingock.cloud.api.response; -import io.flamingock.cloud.api.vo.ActionResponse; +import io.flamingock.cloud.api.vo.ExecutionAction; import java.util.Collections; import java.util.List; @@ -23,11 +23,11 @@ public class ExecutionPlanResponse { - private ActionResponse action; + private ExecutionAction action; private String executionId; - private LockResponse lock; + private LockInfo lock; private List stages; @@ -35,15 +35,15 @@ public class ExecutionPlanResponse { public ExecutionPlanResponse() { } - public ExecutionPlanResponse(ActionResponse action, + public ExecutionPlanResponse(ExecutionAction action, String executionId, - LockResponse lock) { + LockInfo lock) { this(action, executionId, lock, Collections.emptyList()); } - public ExecutionPlanResponse(ActionResponse action, + public ExecutionPlanResponse(ExecutionAction action, String executionId, - LockResponse lock, + LockInfo lock, List stages) { this.action = action; this.executionId = executionId; @@ -51,7 +51,7 @@ public ExecutionPlanResponse(ActionResponse action, this.stages = stages; } - public void setAction(ActionResponse action) { + public void setAction(ExecutionAction action) { this.action = action; } @@ -63,11 +63,11 @@ public void setExecutionId(String executionId) { this.executionId = executionId; } - public LockResponse getLock() { + public LockInfo getLock() { return lock; } - public void setLock(LockResponse lock) { + public void setLock(LockInfo lock) { this.lock = lock; } @@ -80,19 +80,19 @@ public void setStages(List stages) { } public boolean isContinue() { - return action == ActionResponse.CONTINUE; + return action == ExecutionAction.CONTINUE; } - public ActionResponse getAction() { + public ExecutionAction getAction() { return action; } public boolean isExecute() { - return action == ActionResponse.EXECUTE; + return action == ExecutionAction.EXECUTE; } public boolean isAwait() { - return action == ActionResponse.AWAIT; + return action == ExecutionAction.AWAIT; } public void validate() { diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java similarity index 96% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java index 8ccf896e1..000c00c88 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java @@ -15,7 +15,7 @@ */ package io.flamingock.cloud.api.response; -public class LockResponse { +public class LockInfo { private String key; @@ -26,7 +26,7 @@ public class LockResponse { private long acquiredForMillis; - public LockResponse() { + public LockInfo() { } public String getKey() { diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java index b5788988e..81e6aafce 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java @@ -15,6 +15,8 @@ */ package io.flamingock.cloud.api.response; +import io.flamingock.cloud.api.vo.CloudChangeAction; + public class TaskResponse { private String id; private CloudChangeAction action; diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/CloudChangeAction.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeAction.java similarity index 96% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/CloudChangeAction.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeAction.java index 90f0b364f..eaf0e03c5 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/CloudChangeAction.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeAction.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.cloud.api.response; +package io.flamingock.cloud.api.vo; /** diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ActionResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java similarity index 90% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ActionResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java index 9ae3326b9..99cff96bf 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ActionResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java @@ -15,6 +15,6 @@ */ package io.flamingock.cloud.api.vo; -public enum ActionResponse { - CONTINUE, EXECUTE, AWAIT +public enum ExecutionAction { + CONTINUE, EXECUTE, AWAIT, ABORT } diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java index 64b3ca951..6141ba7e4 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/planner/CloudExecutionPlanMapper.java @@ -23,7 +23,7 @@ import io.flamingock.cloud.api.request.TaskRequest; import io.flamingock.cloud.api.response.StageResponse; import io.flamingock.cloud.api.response.TaskResponse; -import io.flamingock.cloud.api.response.CloudChangeAction; +import io.flamingock.cloud.api.vo.CloudChangeAction; import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.cloud.lock.CloudLockService; import io.flamingock.internal.core.configuration.core.CoreConfigurable; diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java index bce308904..1f85596c8 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/MockRunnerServer.java @@ -38,7 +38,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*; import static io.flamingock.common.test.cloud.utils.JsonMapper.toJson; -import static io.flamingock.cloud.api.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.vo.CloudChangeAction.APPLY; public final class MockRunnerServer { diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java index f7388ddaf..94cdee4bf 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/MockRunnerServerOld.java @@ -15,10 +15,10 @@ */ package io.flamingock.common.test.cloud.deprecated; -import io.flamingock.cloud.api.response.LockResponse; +import io.flamingock.cloud.api.response.LockInfo; import io.flamingock.cloud.api.response.StageResponse; import io.flamingock.cloud.api.response.TaskResponse; -import io.flamingock.cloud.api.vo.ActionResponse; +import io.flamingock.cloud.api.vo.ExecutionAction; import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import io.flamingock.internal.common.core.audit.AuditEntry; import com.github.tomakehurst.wiremock.WireMockServer; @@ -37,7 +37,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*; import static io.flamingock.common.test.cloud.utils.JsonMapper.toJson; -import static io.flamingock.cloud.api.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.vo.CloudChangeAction.APPLY; @Deprecated public final class MockRunnerServerOld { @@ -391,7 +391,7 @@ private void mockAuditWriteEndpoint() { } private void mockReleaseLockEndpoint() { - LockResponse lockResponse = new LockResponse(); + LockInfo lockResponse = new LockInfo(); lockResponse.setKey(serviceId); lockResponse.setOwner(runnerId); if(executionExpectation != null) { @@ -414,9 +414,9 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { ExecutePlanRequestResponse requestResponse = (ExecutePlanRequestResponse) executionRequestResponses.get(index); ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); executionPlanResponse.setExecutionId(requestResponse.executionId); - executionPlanResponse.setAction(ActionResponse.EXECUTE); + executionPlanResponse.setAction(ExecutionAction.EXECUTE); - LockResponse lockMock = new LockResponse(); + LockInfo lockMock = new LockInfo(); lockMock.setKey(serviceId); lockMock.setOwner(runnerId); lockMock.setAcquiredForMillis(requestResponse.getAcquiredForMillis()); @@ -432,9 +432,9 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); executionPlanResponse.setExecutionId(requestResponse.executionId); - executionPlanResponse.setAction(ActionResponse.AWAIT); + executionPlanResponse.setAction(ExecutionAction.AWAIT); - LockResponse lock = new LockResponse(); + LockInfo lock = new LockInfo(); lock.setAcquisitionId(requestResponse.getAcquisitionId()); lock.setKey(serviceName); lock.setOwner(runnerId); @@ -444,7 +444,7 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { } else { //IT'S CONTINUE ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); - executionPlanResponse.setAction(ActionResponse.CONTINUE); + executionPlanResponse.setAction(ExecutionAction.CONTINUE); return executionPlanResponse; } diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java index 59a071d6b..d447e34fa 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockExecutionPlanBuilder.java @@ -24,17 +24,17 @@ import io.flamingock.cloud.api.request.StageRequest; import io.flamingock.cloud.api.request.TaskRequest; import io.flamingock.cloud.api.response.ExecutionPlanResponse; -import io.flamingock.cloud.api.response.LockResponse; +import io.flamingock.cloud.api.response.LockInfo; import io.flamingock.cloud.api.response.StageResponse; import io.flamingock.cloud.api.response.TaskResponse; -import io.flamingock.cloud.api.vo.ActionResponse; +import io.flamingock.cloud.api.vo.ExecutionAction; import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import static io.flamingock.cloud.api.response.CloudChangeAction.APPLY; +import static io.flamingock.cloud.api.vo.CloudChangeAction.APPLY; public class MockExecutionPlanBuilder { @@ -76,23 +76,23 @@ public ExecutionPlanResponse getResponse(ExecutionBaseRequestResponseMock mockRe transformTaskResponses(stagePrototype.getTasks(), mockRequestResponse)) ).collect(Collectors.toList()); - LockResponse lock = new LockResponse(); + LockInfo lock = new LockInfo(); lock.setAcquisitionId(mockRequestResponse.getAcquisitionId()); lock.setKey(serviceId); lock.setOwner(runnerId); - return new ExecutionPlanResponse(ActionResponse.EXECUTE, executionId, lock, stages); + return new ExecutionPlanResponse(ExecutionAction.EXECUTE, executionId, lock, stages); } else if (mockRequestResponse instanceof ExecutionAwaitRequestResponseMock) { - LockResponse lock = new LockResponse(); + LockInfo lock = new LockInfo(); lock.setAcquisitionId(mockRequestResponse.getAcquisitionId()); lock.setKey(serviceId); lock.setOwner(runnerId); lock.setAcquiredForMillis(mockRequestResponse.getAcquiredForMillis()); - return new ExecutionPlanResponse(ActionResponse.AWAIT, executionId, lock); + return new ExecutionPlanResponse(ExecutionAction.AWAIT, executionId, lock); } else { //IT'S CONTINUE ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); - executionPlanResponse.setAction(ActionResponse.CONTINUE); + executionPlanResponse.setAction(ExecutionAction.CONTINUE); return executionPlanResponse; } diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java index 7a4dbd73c..784d88090 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/mock/MockRequestResponseTask.java @@ -15,7 +15,7 @@ */ package io.flamingock.common.test.cloud.mock; -import io.flamingock.cloud.api.response.CloudChangeAction; +import io.flamingock.cloud.api.vo.CloudChangeAction; import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; public class MockRequestResponseTask { diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java index 76b9dc9e2..4fcd7d715 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/prototype/PrototypeTask.java @@ -18,7 +18,7 @@ import io.flamingock.common.test.cloud.deprecated.AuditEntryMatcher; import io.flamingock.internal.common.cloud.audit.AuditEntryRequest; import io.flamingock.cloud.api.request.TaskRequest; -import io.flamingock.cloud.api.response.CloudChangeAction; +import io.flamingock.cloud.api.vo.CloudChangeAction; import io.flamingock.cloud.api.response.TaskResponse; import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; From 4282aa2952dd97c5d39d86856a31a85c7444b81b Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Fri, 10 Apr 2026 15:17:11 +0100 Subject: [PATCH 3/6] chore: update flamingock dependency versions --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3864501c6..093a0d72b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,8 +21,8 @@ allprojects { extra["generalUtilVersion"] = "1.5.1" extra["templateApiVersion"] = "1.3.2" extra["coreApiVersion"] = "1.3.1" - extra["sqlVersion"] = "1.2.0-beta.5" - extra["mongodbTemplateVersion"] = "1.2.0-beta.4" + extra["sqlVersion"] = "1.2.0" + extra["mongodbTemplateVersion"] = "1.2.0" repositories { mavenLocal() From 1bb44debdf7141b709038032f97fa4d3d2e7f787 Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Fri, 10 Apr 2026 15:37:00 +0100 Subject: [PATCH 4/6] chore: script to print the latest dependency versions --- infra/check-latest-versions.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 infra/check-latest-versions.sh diff --git a/infra/check-latest-versions.sh b/infra/check-latest-versions.sh new file mode 100755 index 000000000..40fc22d71 --- /dev/null +++ b/infra/check-latest-versions.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +set -euo pipefail + +NAMESPACE="io.flamingock" +BASE_URL="https://central.sonatype.com/api/internal/browse/component/versions" + +get_version() { + local artifact="$1" + local version + version=$(curl -s "${BASE_URL}?sortField=normalizedVersion&sortDirection=desc&page=0&size=1&filter=namespace:${NAMESPACE},name:${artifact}" \ + | grep -o '"version":"[^"]*"' \ + | head -1 \ + | cut -d'"' -f4) + echo "${version:-NOT FOUND}" +} + +printf "%-40s %s\n" "ARTIFACT" "LATEST VERSION" +printf "%-40s %s\n" "----------------------------------------" "---------------" + +printf "%-40s %s\n" "General utils" "$(get_version flamingock-general-util)" +printf "%-40s %s\n" "Template API" "$(get_version flamingock-template-api)" +printf "%-40s %s\n" "Core API" "$(get_version flamingock-core-api)" +printf "%-40s %s\n" "SQL tools" "$(get_version flamingock-sql-template)" +printf "%-40s %s\n" "MongoDB template" "$(get_version flamingock-mongodb-sync-template)" +echo +printf "%-40s %s\n" "Core BOM" "$(get_version flamingock-bom)" From 3b292a2fe8fa8cc330dc9379b1133c65e7f399bb Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Fri, 10 Apr 2026 15:39:17 +0100 Subject: [PATCH 5/6] chore: script to print the latest dependency versions --- infra/check-latest-versions.sh | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/infra/check-latest-versions.sh b/infra/check-latest-versions.sh index 40fc22d71..bcc7b04af 100755 --- a/infra/check-latest-versions.sh +++ b/infra/check-latest-versions.sh @@ -14,13 +14,10 @@ get_version() { echo "${version:-NOT FOUND}" } -printf "%-40s %s\n" "ARTIFACT" "LATEST VERSION" -printf "%-40s %s\n" "----------------------------------------" "---------------" - -printf "%-40s %s\n" "General utils" "$(get_version flamingock-general-util)" -printf "%-40s %s\n" "Template API" "$(get_version flamingock-template-api)" -printf "%-40s %s\n" "Core API" "$(get_version flamingock-core-api)" -printf "%-40s %s\n" "SQL tools" "$(get_version flamingock-sql-template)" -printf "%-40s %s\n" "MongoDB template" "$(get_version flamingock-mongodb-sync-template)" +echo " extra[\"generalUtilVersion\"] = \"$(get_version flamingock-general-util)\"" +echo " extra[\"templateApiVersion\"] = \"$(get_version flamingock-template-api)\"" +echo " extra[\"coreApiVersion\"] = \"$(get_version flamingock-core-api)\"" +echo " extra[\"sqlVersion\"] = \"$(get_version flamingock-sql-template)\"" +echo " extra[\"mongodbTemplateVersion\"] = \"$(get_version flamingock-mongodb-sync-template)\"" echo -printf "%-40s %s\n" "Core BOM" "$(get_version flamingock-bom)" +echo " Core BOM: $(get_version flamingock-bom)" From 5082cc20a67566cfa51081b5410e5b18872a50de Mon Sep 17 00:00:00 2001 From: Antonio Perez Dieppa Date: Fri, 10 Apr 2026 16:26:18 +0100 Subject: [PATCH 6/6] refactor: flamingock-cloud-api refactor --- .../cloud/api/request/ClientSubmission.java | 9 +++++++- .../api/request/ExecutionPlanRequest.java | 15 +++++++++++-- .../cloud/api/request/StageRequest.java | 19 ++++++++++++++--- .../cloud/api/request/TaskRequest.java | 21 ++++++++++++++++--- 4 files changed, 55 insertions(+), 9 deletions(-) diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java index 5a37b6c35..2fbd88d69 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java @@ -18,7 +18,10 @@ import java.util.List; public class ClientSubmission { - private final List stages; + private List stages; + + public ClientSubmission() { + } public ClientSubmission(List stages) { this.stages = stages; @@ -27,4 +30,8 @@ public ClientSubmission(List stages) { public List getStages() { return stages; } + + public void setStages(List stages) { + this.stages = stages; + } } \ No newline at end of file diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java index ec38430ca..8829ff11c 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ExecutionPlanRequest.java @@ -19,15 +19,25 @@ public class ExecutionPlanRequest { - private final ClientSubmission clientSubmission; - private final long lockAcquiredForMillis; + private ClientSubmission clientSubmission; + private long lockAcquiredForMillis; + public ExecutionPlanRequest() { + } public ExecutionPlanRequest(long lockAcquiredForMillis, List stages) { this.lockAcquiredForMillis = lockAcquiredForMillis; this.clientSubmission = new ClientSubmission(stages); } + public void setClientSubmission(ClientSubmission clientSubmission) { + this.clientSubmission = clientSubmission; + } + + public void setLockAcquiredForMillis(long lockAcquiredForMillis) { + this.lockAcquiredForMillis = lockAcquiredForMillis; + } + public long getLockAcquiredForMillis() { return lockAcquiredForMillis; } @@ -35,5 +45,6 @@ public long getLockAcquiredForMillis() { public ClientSubmission getClientSubmission() { return clientSubmission; } + } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java index 5c0dfcd1c..cd5f73c7c 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/StageRequest.java @@ -18,11 +18,14 @@ import java.util.List; public class StageRequest { - private final String name; + private String name; - private final int order; + private int order; - private final List tasks; + private List tasks; + + public StageRequest() { + } public StageRequest(String name, int order, List tasks) { this.name = name; @@ -42,5 +45,15 @@ public List getTasks() { return tasks; } + public void setName(String name) { + this.name = name; + } + public void setOrder(int order) { + this.order = order; + } + + public void setTasks(List tasks) { + this.tasks = tasks; + } } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java index a170d235b..86dd799ef 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java @@ -21,11 +21,14 @@ //TODO add recoveryStrategy, so we can determin the acction in the server public class TaskRequest { - private final String id; + private String id; - private final TargetSystemAuditMarkType ongoingStatus; + private TargetSystemAuditMarkType ongoingStatus; - private final boolean transactional; + private boolean transactional; + + public TaskRequest() { + } public static TaskRequest task(String id, boolean transactional) { return new TaskRequest(id, TargetSystemAuditMarkType.NONE, transactional); @@ -56,4 +59,16 @@ public TargetSystemAuditMarkType getOngoingStatus() { public boolean isTransactional() { return transactional; } + + public void setId(String id) { + this.id = id; + } + + public void setOngoingStatus(TargetSystemAuditMarkType ongoingStatus) { + this.ongoingStatus = ongoingStatus; + } + + public void setTransactional(boolean transactional) { + this.transactional = transactional; + } } \ No newline at end of file