diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/error/FlamingockError.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/error/CloudFlamingockError.java similarity index 95% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/error/FlamingockError.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/error/CloudFlamingockError.java index f9cd1414e..20eeb0682 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/error/FlamingockError.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/error/CloudFlamingockError.java @@ -17,7 +17,7 @@ import java.util.Map; -public interface FlamingockError { +public interface CloudFlamingockError { String getCode(); diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/AuditEntryRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/AuditEntryRequest.java index 40aee86c7..7b166992b 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/AuditEntryRequest.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/AuditEntryRequest.java @@ -15,7 +15,10 @@ */ package io.flamingock.cloud.api.request; -import io.flamingock.api.RecoveryStrategy; +import io.flamingock.cloud.api.vo.CloudRecoveryStrategy; +import io.flamingock.cloud.api.vo.CloudAuditStatus; +import io.flamingock.cloud.api.vo.CloudChangeType; +import io.flamingock.cloud.api.vo.CloudTxStrategy; public class AuditEntryRequest { @@ -23,18 +26,18 @@ public class AuditEntryRequest { private String taskId; private String author; private long appliedAtEpochMillis; - private AuditEntryStatus state; + private CloudAuditStatus state; private String className; private String methodName; private Object metadata; private long executionMillis; private String executionHostname; private String errorTrace; - private ChangeType type; - private CloudAuditTxType txStrategy; + private CloudChangeType type; + private CloudTxStrategy txStrategy; private String targetSystemId; private String order; - private RecoveryStrategy recoveryStrategy; + private CloudRecoveryStrategy recoveryStrategy; private Boolean transactionFlag; protected Boolean systemChange;//TODO not in server @@ -45,8 +48,8 @@ public AuditEntryRequest(String stageId, String taskId, String author, long appliedAtEpochMillis, - AuditEntryStatus state, - ChangeType type, + CloudAuditStatus state, + CloudChangeType type, String className, String methodName, long executionMillis, @@ -54,10 +57,10 @@ public AuditEntryRequest(String stageId, Object metadata, boolean systemChange, String errorTrace, - CloudAuditTxType txStrategy, + CloudTxStrategy txStrategy, String targetSystemId, String order, - RecoveryStrategy recoveryStrategy, + CloudRecoveryStrategy recoveryStrategy, Boolean transactionFlag) { this.stageId = stageId; this.taskId = taskId; @@ -96,7 +99,7 @@ public long getAppliedAtEpochMillis() { return appliedAtEpochMillis; } - public AuditEntryStatus getState() { + public CloudAuditStatus getState() { return state; } @@ -128,11 +131,11 @@ public Boolean getSystemChange() { return systemChange; } - public ChangeType getType() { + public CloudChangeType getType() { return type; } - public CloudAuditTxType getTxStrategy() { + public CloudTxStrategy getTxStrategy() { return txStrategy; } @@ -144,7 +147,7 @@ public String getOrder() { return order; } - public RecoveryStrategy getRecoveryStrategy() { + public CloudRecoveryStrategy getRecoveryStrategy() { return recoveryStrategy; } @@ -152,20 +155,4 @@ public Boolean getTransactionFlag() { return transactionFlag; } - public enum ChangeType {STANDARD_CODE, STANDARD_TEMPLATE, MONGOCK_EXECUTION, MONGOCK_BEFORE} - - public enum AuditEntryStatus { - STARTED, - APPLIED, - FAILED, - ROLLED_BACK, - ROLLBACK_FAILED, - MANUAL_MARKED_AS_APPLIED, - MANUAL_MARKED_AS_ROLLED_BACK - } - - } - - - diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ChangeRequest.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ChangeRequest.java new file mode 100644 index 000000000..8491fb507 --- /dev/null +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ChangeRequest.java @@ -0,0 +1,89 @@ +/* + * Copyright 2025 Flamingock (https://www.flamingock.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.flamingock.cloud.api.request; + + +import io.flamingock.cloud.api.vo.CloudTargetSystemAuditMarkType; + +//TODO add recoveryStrategy, so we can determin the acction in the server +public class ChangeRequest { + + private String id; + + private CloudTargetSystemAuditMarkType ongoingStatus; + + private boolean transactional; + + public ChangeRequest() { + } + + public static ChangeRequest task(String id, boolean transactional) { + return new ChangeRequest(id, CloudTargetSystemAuditMarkType.NONE, transactional); + } + + public static ChangeRequest ongoingExecution(String id, boolean transactional) { + return new ChangeRequest(id, CloudTargetSystemAuditMarkType.APPLIED, transactional); + } + + public static ChangeRequest ongoingRollback(String id, boolean transactional) { + return new ChangeRequest(id, CloudTargetSystemAuditMarkType.ROLLBACK, transactional); + } + + public ChangeRequest(String id, CloudTargetSystemAuditMarkType ongoingStatus, boolean transactional) { + this.id = id; + this.ongoingStatus = ongoingStatus; + this.transactional = transactional; + } + + public String getId() { + return id; + } + + public CloudTargetSystemAuditMarkType getOngoingStatus() { + return ongoingStatus; + } + + public boolean isTransactional() { + return transactional; + } + + public void setId(String id) { + this.id = id; + } + + public void setOngoingStatus(CloudTargetSystemAuditMarkType ongoingStatus) { + this.ongoingStatus = ongoingStatus; + } + + public void setTransactional(boolean transactional) { + this.transactional = transactional; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ChangeRequest that = (ChangeRequest) o; + return transactional == that.transactional + && java.util.Objects.equals(id, that.id) + && java.util.Objects.equals(ongoingStatus, that.ongoingStatus); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(id, ongoingStatus, transactional); + } +} \ No newline at end of file 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/ClientSubmissionRequest.java similarity index 63% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmission.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/ClientSubmissionRequest.java index 2fbd88d69..baf4452b4 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/ClientSubmissionRequest.java @@ -17,13 +17,13 @@ import java.util.List; -public class ClientSubmission { +public class ClientSubmissionRequest { private List stages; - public ClientSubmission() { + public ClientSubmissionRequest() { } - public ClientSubmission(List stages) { + public ClientSubmissionRequest(List stages) { this.stages = stages; } @@ -34,4 +34,17 @@ public List getStages() { public void setStages(List stages) { this.stages = stages; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ClientSubmissionRequest that = (ClientSubmissionRequest) o; + return java.util.Objects.equals(stages, that.stages); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(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 8829ff11c..6c2a00cfd 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,7 +19,7 @@ public class ExecutionPlanRequest { - private ClientSubmission clientSubmission; + private ClientSubmissionRequest clientSubmission; private long lockAcquiredForMillis; public ExecutionPlanRequest() { @@ -27,10 +27,10 @@ public ExecutionPlanRequest() { public ExecutionPlanRequest(long lockAcquiredForMillis, List stages) { this.lockAcquiredForMillis = lockAcquiredForMillis; - this.clientSubmission = new ClientSubmission(stages); + this.clientSubmission = new ClientSubmissionRequest(stages); } - public void setClientSubmission(ClientSubmission clientSubmission) { + public void setClientSubmission(ClientSubmissionRequest clientSubmission) { this.clientSubmission = clientSubmission; } @@ -42,7 +42,7 @@ public long getLockAcquiredForMillis() { return lockAcquiredForMillis; } - public ClientSubmission getClientSubmission() { + public ClientSubmissionRequest 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 cd5f73c7c..6ed358cb0 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 @@ -22,12 +22,12 @@ public class StageRequest { private int order; - private List tasks; + private List tasks; public StageRequest() { } - public StageRequest(String name, int order, List tasks) { + public StageRequest(String name, int order, List tasks) { this.name = name; this.order = order; this.tasks = tasks; @@ -41,7 +41,7 @@ public int getOrder() { return order; } - public List getTasks() { + public List getTasks() { return tasks; } @@ -53,7 +53,22 @@ public void setOrder(int order) { this.order = order; } - public void setTasks(List tasks) { + public void setTasks(List tasks) { this.tasks = tasks; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + StageRequest that = (StageRequest) o; + return order == that.order + && java.util.Objects.equals(name, that.name) + && java.util.Objects.equals(tasks, that.tasks); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(name, order, 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 deleted file mode 100644 index 86dd799ef..000000000 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/TaskRequest.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2025 Flamingock (https://www.flamingock.io) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.flamingock.cloud.api.request; - - -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; - -//TODO add recoveryStrategy, so we can determin the acction in the server -public class TaskRequest { - - private String id; - - private TargetSystemAuditMarkType ongoingStatus; - - private boolean transactional; - - public TaskRequest() { - } - - public static TaskRequest task(String id, boolean transactional) { - return new TaskRequest(id, TargetSystemAuditMarkType.NONE, transactional); - } - - public static TaskRequest ongoingExecution(String id, boolean transactional) { - return new TaskRequest(id, TargetSystemAuditMarkType.APPLIED, transactional); - } - - public static TaskRequest ongoingRollback(String id, boolean transactional) { - return new TaskRequest(id, TargetSystemAuditMarkType.ROLLBACK, transactional); - } - - public TaskRequest(String id, TargetSystemAuditMarkType ongoingStatus, boolean transactional) { - this.id = id; - this.ongoingStatus = ongoingStatus; - this.transactional = transactional; - } - - public String getId() { - return id; - } - - public TargetSystemAuditMarkType getOngoingStatus() { - return ongoingStatus; - } - - 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 diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryCreatedResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryCreatedResponse.java similarity index 80% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryCreatedResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryCreatedResponse.java index cea908ca2..1198bed42 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryCreatedResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryCreatedResponse.java @@ -15,12 +15,12 @@ */ package io.flamingock.cloud.api.response; -public class LogAuditEntryCreatedResponse extends LogAuditEntryResponse { +public class AuditEntryCreatedResponse extends AuditEntryResponse { - public LogAuditEntryCreatedResponse() { + public AuditEntryCreatedResponse() { } - public LogAuditEntryCreatedResponse(LockInfo lock) { + public AuditEntryCreatedResponse(LockInfoResponse lock) { super(lock); } } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryAlreadyCreatedResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryIdempotentResponse.java similarity index 78% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryAlreadyCreatedResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryIdempotentResponse.java index c528a68f2..3a84b5ecd 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryAlreadyCreatedResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryIdempotentResponse.java @@ -15,12 +15,12 @@ */ package io.flamingock.cloud.api.response; -public class LogAuditEntryAlreadyCreatedResponse extends LogAuditEntryResponse { +public class AuditEntryIdempotentResponse extends AuditEntryResponse { - public LogAuditEntryAlreadyCreatedResponse() { + public AuditEntryIdempotentResponse() { } - public LogAuditEntryAlreadyCreatedResponse(LockInfo lock) { + public AuditEntryIdempotentResponse(LockInfoResponse lock) { super(lock); } } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryResponse.java similarity index 75% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryResponse.java index 96fbe230b..18a00c367 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LogAuditEntryResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/AuditEntryResponse.java @@ -15,22 +15,22 @@ */ package io.flamingock.cloud.api.response; -public abstract class LogAuditEntryResponse { +public abstract class AuditEntryResponse { - private LockInfo lock; + private LockInfoResponse lock; - public LogAuditEntryResponse() { + public AuditEntryResponse() { } - public LogAuditEntryResponse(LockInfo lock) { + public AuditEntryResponse(LockInfoResponse lock) { this.lock = lock; } - public LockInfo getLock() { + public LockInfoResponse getLock() { return lock; } - public void setLock(LockInfo lock) { + public void setLock(LockInfoResponse lock) { this.lock = lock; } } 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/ChangeResponse.java similarity index 67% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/TaskResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ChangeResponse.java index 81e6aafce..dc8a2efb0 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/ChangeResponse.java @@ -17,14 +17,14 @@ import io.flamingock.cloud.api.vo.CloudChangeAction; -public class TaskResponse { +public class ChangeResponse { private String id; private CloudChangeAction action; - public TaskResponse() { + public ChangeResponse() { } - public TaskResponse(String id, CloudChangeAction action) { + public ChangeResponse(String id, CloudChangeAction action) { this.id = id; this.action = action; } @@ -44,4 +44,18 @@ public CloudChangeAction getAction() { public void setAction(CloudChangeAction action) { this.action = action; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ChangeResponse that = (ChangeResponse) o; + return java.util.Objects.equals(id, that.id) + && java.util.Objects.equals(action, that.action); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(id, action); + } } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionFullResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionDetailResponse.java similarity index 81% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionFullResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionDetailResponse.java index 00f29586c..0f4e3a7cf 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionFullResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionDetailResponse.java @@ -15,25 +15,25 @@ */ package io.flamingock.cloud.api.response; -import io.flamingock.cloud.api.request.ClientSubmission; +import io.flamingock.cloud.api.request.ClientSubmissionRequest; import java.time.Instant; -public class ExecutionFullResponse { +public class ExecutionDetailResponse { private String executionId; private long environmentId; private long serviceId; private String runnerId; private Instant startedAt; - private ClientSubmission clientSubmission; + private ClientSubmissionRequest clientSubmission; private PipelineResponse pipeline; - public ExecutionFullResponse() { + public ExecutionDetailResponse() { } - public ExecutionFullResponse(String executionId, long environmentId, long serviceId, String runnerId, - Instant startedAt, ClientSubmission clientSubmission, PipelineResponse pipeline) { + public ExecutionDetailResponse(String executionId, long environmentId, long serviceId, String runnerId, + Instant startedAt, ClientSubmissionRequest clientSubmission, PipelineResponse pipeline) { this.executionId = executionId; this.environmentId = environmentId; this.serviceId = serviceId; @@ -58,8 +58,8 @@ public ExecutionFullResponse(String executionId, long environmentId, long servic public Instant getStartedAt() { return startedAt; } public void setStartedAt(Instant startedAt) { this.startedAt = startedAt; } - public ClientSubmission getClientSubmission() { return clientSubmission; } - public void setClientSubmission(ClientSubmission clientSubmission) { this.clientSubmission = clientSubmission; } + public ClientSubmissionRequest getClientSubmission() { return clientSubmission; } + public void setClientSubmission(ClientSubmissionRequest clientSubmission) { this.clientSubmission = clientSubmission; } public PipelineResponse getPipeline() { return pipeline; } public void setPipeline(PipelineResponse pipeline) { this.pipeline = pipeline; } @@ -68,7 +68,7 @@ public ExecutionFullResponse(String executionId, long environmentId, long servic public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - ExecutionFullResponse that = (ExecutionFullResponse) o; + ExecutionDetailResponse that = (ExecutionDetailResponse) o; return environmentId == that.environmentId && serviceId == that.serviceId && java.util.Objects.equals(executionId, that.executionId) && java.util.Objects.equals(runnerId, that.runnerId) 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 7bf623a6c..f904ff250 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.ExecutionAction; +import io.flamingock.cloud.api.vo.CloudExecutionAction; import java.util.Collections; import java.util.List; @@ -23,11 +23,11 @@ public class ExecutionPlanResponse { - private ExecutionAction action; + private CloudExecutionAction action; private String executionId; - private LockInfo lock; + private LockInfoResponse lock; private List stages; @@ -35,15 +35,15 @@ public class ExecutionPlanResponse { public ExecutionPlanResponse() { } - public ExecutionPlanResponse(ExecutionAction action, + public ExecutionPlanResponse(CloudExecutionAction action, String executionId, - LockInfo lock) { + LockInfoResponse lock) { this(action, executionId, lock, Collections.emptyList()); } - public ExecutionPlanResponse(ExecutionAction action, + public ExecutionPlanResponse(CloudExecutionAction action, String executionId, - LockInfo lock, + LockInfoResponse lock, List stages) { this.action = action; this.executionId = executionId; @@ -51,7 +51,7 @@ public ExecutionPlanResponse(ExecutionAction action, this.stages = stages; } - public void setAction(ExecutionAction action) { + public void setAction(CloudExecutionAction action) { this.action = action; } @@ -63,11 +63,11 @@ public void setExecutionId(String executionId) { this.executionId = executionId; } - public LockInfo getLock() { + public LockInfoResponse getLock() { return lock; } - public void setLock(LockInfo lock) { + public void setLock(LockInfoResponse lock) { this.lock = lock; } @@ -80,19 +80,19 @@ public void setStages(List stages) { } public boolean isContinue() { - return action == ExecutionAction.CONTINUE; + return action == CloudExecutionAction.CONTINUE; } - public ExecutionAction getAction() { + public CloudExecutionAction getAction() { return action; } public boolean isExecute() { - return action == ExecutionAction.EXECUTE; + return action == CloudExecutionAction.EXECUTE; } public boolean isAwait() { - return action == ExecutionAction.AWAIT; + return action == CloudExecutionAction.AWAIT; } public void validate() { diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionSummaryResponse.java similarity index 89% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionResponse.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionSummaryResponse.java index 06e807d45..3cb4bf016 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/ExecutionSummaryResponse.java @@ -17,7 +17,7 @@ import java.time.Instant; -public class ExecutionResponse { +public class ExecutionSummaryResponse { private String executionId; private long environmentId; @@ -25,10 +25,10 @@ public class ExecutionResponse { private String runnerId; private Instant startedAt; - public ExecutionResponse() { + public ExecutionSummaryResponse() { } - public ExecutionResponse(String executionId, long environmentId, long serviceId, String runnerId, Instant startedAt) { + public ExecutionSummaryResponse(String executionId, long environmentId, long serviceId, String runnerId, Instant startedAt) { this.executionId = executionId; this.environmentId = environmentId; this.serviceId = serviceId; @@ -55,7 +55,7 @@ public ExecutionResponse(String executionId, long environmentId, long serviceId, public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - ExecutionResponse that = (ExecutionResponse) o; + ExecutionSummaryResponse that = (ExecutionSummaryResponse) o; return environmentId == that.environmentId && serviceId == that.serviceId && java.util.Objects.equals(executionId, that.executionId) && java.util.Objects.equals(runnerId, that.runnerId) diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfoResponse.java similarity index 95% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfoResponse.java index 978f365b8..b98c9b951 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfo.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/LockInfoResponse.java @@ -15,7 +15,7 @@ */ package io.flamingock.cloud.api.response; -public class LockInfo { +public class LockInfoResponse { private String key; @@ -25,7 +25,7 @@ public class LockInfo { private long acquiredForMillis; - public LockInfo() { + public LockInfoResponse() { } public String getKey() { 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/LockResponse.java index 60f8491ff..95c190abb 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/LockResponse.java @@ -15,34 +15,34 @@ */ package io.flamingock.cloud.api.response; -import io.flamingock.cloud.api.vo.LockStatus; +import io.flamingock.cloud.api.vo.CloudLockStatus; public class LockResponse { - private LockInfo lock; - private LockStatus status; + private LockInfoResponse lock; + private CloudLockStatus status; public LockResponse() { } - public LockResponse(LockStatus status, LockInfo lock) { + public LockResponse(CloudLockStatus status, LockInfoResponse lock) { this.lock = lock; this.status = status; } - public LockInfo getLock() { + public LockInfoResponse getLock() { return lock; } - public void setLock(LockInfo lock) { + public void setLock(LockInfoResponse lock) { this.lock = lock; } - public LockStatus getStatus() { + public CloudLockStatus getStatus() { return status; } - public void setStatus(LockStatus status) { + public void setStatus(CloudLockStatus status) { this.status = status; } } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java index 09fb7bbd9..e2d407887 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/response/StageResponse.java @@ -22,12 +22,12 @@ public class StageResponse { private int order; - private List tasks; + private List tasks; public StageResponse() { } - public StageResponse(String name, int order, List tasks) { + public StageResponse(String name, int order, List tasks) { this.name = name; this.order = order; this.tasks = tasks; @@ -41,11 +41,11 @@ public void setName(String name) { this.name = name; } - public List getTasks() { + public List getTasks() { return tasks; } - public void setTasks(List tasks) { + public void setTasks(List tasks) { this.tasks = tasks; } @@ -56,4 +56,19 @@ public int getOrder() { public void setOrder(int order) { this.order = order; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + StageResponse that = (StageResponse) o; + return order == that.order + && java.util.Objects.equals(name, that.name) + && java.util.Objects.equals(tasks, that.tasks); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(name, order, tasks); + } } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudAuditStatus.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudAuditStatus.java new file mode 100644 index 000000000..42c24ef15 --- /dev/null +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudAuditStatus.java @@ -0,0 +1,26 @@ +/* + * Copyright 2026 Flamingock (https://www.flamingock.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.flamingock.cloud.api.vo; + +public enum CloudAuditStatus { + STARTED, + APPLIED, + FAILED, + ROLLED_BACK, + ROLLBACK_FAILED, + MANUAL_MARKED_AS_APPLIED, + MANUAL_MARKED_AS_ROLLED_BACK +} diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeType.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeType.java new file mode 100644 index 000000000..b1bb87712 --- /dev/null +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudChangeType.java @@ -0,0 +1,20 @@ +/* + * Copyright 2026 Flamingock (https://www.flamingock.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.flamingock.cloud.api.vo; + +public enum CloudChangeType { + STANDARD_CODE, STANDARD_TEMPLATE, MONGOCK_EXECUTION, MONGOCK_BEFORE +} diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudExecutionAction.java similarity index 95% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudExecutionAction.java index 99cff96bf..cd5257ccb 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/ExecutionAction.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudExecutionAction.java @@ -15,6 +15,6 @@ */ package io.flamingock.cloud.api.vo; -public enum ExecutionAction { +public enum CloudExecutionAction { CONTINUE, EXECUTE, AWAIT, ABORT } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/LockStatus.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudLockStatus.java similarity index 95% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/LockStatus.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudLockStatus.java index 30ef85e39..712ffd006 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/LockStatus.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudLockStatus.java @@ -15,6 +15,6 @@ */ package io.flamingock.cloud.api.vo; -public enum LockStatus { +public enum CloudLockStatus { ACQUIRED, LOCKED_BY_OTHER, EXTENDED } diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudRecoveryStrategy.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudRecoveryStrategy.java new file mode 100644 index 000000000..2842e9a24 --- /dev/null +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudRecoveryStrategy.java @@ -0,0 +1,20 @@ +/* + * Copyright 2026 Flamingock (https://www.flamingock.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.flamingock.cloud.api.vo; + +public enum CloudRecoveryStrategy { + ALWAYS_RETRY, MANUAL_INTERVENTION +} diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudTargetSystemAuditMarkType.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudTargetSystemAuditMarkType.java new file mode 100644 index 000000000..d7a287aa1 --- /dev/null +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudTargetSystemAuditMarkType.java @@ -0,0 +1,20 @@ +/* + * Copyright 2026 Flamingock (https://www.flamingock.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.flamingock.cloud.api.vo; + +public enum CloudTargetSystemAuditMarkType { + NONE, APPLIED, ROLLBACK +} diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/CloudAuditTxType.java b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudTxStrategy.java similarity index 92% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/CloudAuditTxType.java rename to cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudTxStrategy.java index e299a1dad..7fd2af27c 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/request/CloudAuditTxType.java +++ b/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/CloudTxStrategy.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.cloud.api.request; +package io.flamingock.cloud.api.vo; -public enum CloudAuditTxType { +public enum CloudTxStrategy { NON_TX, TX_SHARED, // SharedTx (Target system the same as the audit store) TX_SEPARATE_WITH_MARKER, // SimpleTx (Target system is not the audit store). With marker diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/CloudApiMapper.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/CloudApiMapper.java new file mode 100644 index 000000000..9c81bae30 --- /dev/null +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/CloudApiMapper.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 Flamingock (https://www.flamingock.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.flamingock.cloud; + +import io.flamingock.cloud.api.vo.CloudAuditStatus; +import io.flamingock.cloud.api.vo.CloudChangeType; +import io.flamingock.cloud.api.vo.CloudTargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.CloudTxStrategy; +import io.flamingock.internal.common.core.audit.AuditEntry; +import io.flamingock.internal.common.core.audit.AuditTxType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; + +public final class CloudApiMapper { + + private CloudApiMapper() { + } + + public static CloudTargetSystemAuditMarkType toCloud(TargetSystemAuditMarkType domain) { + return CloudTargetSystemAuditMarkType.valueOf(domain.name()); + } + + public static CloudTxStrategy toCloud(AuditTxType txType) { + return CloudTxStrategy.valueOf(txType.name()); + } + + public static CloudAuditStatus toCloud(AuditEntry.Status status) { + return CloudAuditStatus.valueOf(status.name()); + } + + public static CloudChangeType toCloud(AuditEntry.ChangeType changeType) { + return CloudChangeType.valueOf(changeType.name()); + } + +} diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/audit/HtttpAuditWriter.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/audit/HtttpAuditWriter.java index f85201d5e..934e388ae 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/audit/HtttpAuditWriter.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/audit/HtttpAuditWriter.java @@ -15,9 +15,11 @@ */ package io.flamingock.cloud.audit; +import io.flamingock.cloud.CloudApiMapper; import io.flamingock.cloud.api.request.AuditEntryRequest; import io.flamingock.cloud.auth.AuthManager; -import io.flamingock.cloud.api.request.CloudAuditTxType; +import io.flamingock.cloud.api.vo.CloudRecoveryStrategy; +import io.flamingock.cloud.api.vo.CloudTxStrategy; import io.flamingock.internal.util.id.EnvironmentId; import io.flamingock.internal.util.id.ServiceId; import io.flamingock.internal.common.core.audit.AuditEntry; @@ -86,14 +88,14 @@ public Result writeEntry(AuditEntry auditEntry) { private AuditEntryRequest buildRequest(AuditEntry auditEntry) { long appliedAtEpochMillis = ZonedDateTime.of(auditEntry.getCreatedAt(), ZoneId.systemDefault()).toInstant().toEpochMilli(); - CloudAuditTxType txType = auditEntry.getTxType() != null ? auditEntry.getTxType().toCloud() : null; + CloudTxStrategy txType = auditEntry.getTxType() != null ? CloudApiMapper.toCloud(auditEntry.getTxType()) : null; return new AuditEntryRequest( auditEntry.getStageId(), auditEntry.getTaskId(), auditEntry.getAuthor(), appliedAtEpochMillis, - auditEntry.getState().toRequestStatus(), - auditEntry.getType().toRequestExecutionType(), + CloudApiMapper.toCloud(auditEntry.getState()), + CloudApiMapper.toCloud(auditEntry.getType()), auditEntry.getClassName(), auditEntry.getMethodName(), auditEntry.getExecutionMillis(), @@ -104,7 +106,7 @@ private AuditEntryRequest buildRequest(AuditEntry auditEntry) { txType, auditEntry.getTargetSystemId(), auditEntry.getOrder(), - auditEntry.getRecoveryStrategy(), + auditEntry.getRecoveryStrategy() != null ? CloudRecoveryStrategy.valueOf(auditEntry.getRecoveryStrategy().name()) : null, auditEntry.getTransactionFlag() ); } diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/CloudLockService.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/CloudLockService.java index d18f9f17a..ca9214b33 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/CloudLockService.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/CloudLockService.java @@ -16,7 +16,7 @@ package io.flamingock.cloud.lock; import io.flamingock.cloud.api.request.LockExtensionRequest; -import io.flamingock.cloud.api.response.LockInfo; +import io.flamingock.cloud.api.response.LockInfoResponse; import io.flamingock.cloud.lock.client.LockServiceClient; import io.flamingock.internal.core.external.store.lock.LockAcquisition; import io.flamingock.internal.core.external.store.lock.LockKey; @@ -40,7 +40,7 @@ public CloudLockService(LockServiceClient client) { @Override public LockAcquisition extendLock(LockKey key, RunnerId owner, long leaseMillis) throws LockServiceException { try { - LockInfo lockExtension = client.extendLock(key, owner, new LockExtensionRequest(leaseMillis)); + LockInfoResponse lockExtension = client.extendLock(key, owner, new LockExtensionRequest(leaseMillis)); return new LockAcquisition(RunnerId.fromString(lockExtension.getOwner()), lockExtension.getAcquiredForMillis()); } catch (ServerException ex) { @@ -61,7 +61,7 @@ public LockAcquisition extendLock(LockKey key, RunnerId owner, long leaseMillis) @Override public LockAcquisition getLock(LockKey lockKey) { try { - LockInfo response = client.getLock(lockKey); + LockInfoResponse response = client.getLock(lockKey); return new LockAcquisition(RunnerId.fromString(response.getOwner()), response.getAcquiredForMillis()); } catch (ServerException ex) { diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/HttpLockServiceClient.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/HttpLockServiceClient.java index 9a0b8166f..b28004226 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/HttpLockServiceClient.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/HttpLockServiceClient.java @@ -17,7 +17,7 @@ import io.flamingock.cloud.auth.AuthManager; import io.flamingock.cloud.api.request.LockExtensionRequest; -import io.flamingock.cloud.api.response.LockInfo; +import io.flamingock.cloud.api.response.LockInfoResponse; import io.flamingock.internal.core.external.store.lock.LockKey; import io.flamingock.internal.util.id.RunnerId; import io.flamingock.internal.util.http.Http; @@ -42,7 +42,7 @@ public HttpLockServiceClient(String host, } @Override - public LockInfo extendLock(LockKey lockKey, + public LockInfoResponse extendLock(LockKey lockKey, RunnerId runnerId, LockExtensionRequest extensionRequest) { return httpFactory @@ -51,16 +51,16 @@ public LockInfo extendLock(LockKey lockKey, .addPathParameter(SERVICE_PARAM, lockKey.toString()) .withRunnerId(runnerId) .setBody(extensionRequest) - .execute(LockInfo.class); + .execute(LockInfoResponse.class); } @Override - public LockInfo getLock(LockKey lockKey) { + public LockInfoResponse getLock(LockKey lockKey) { return httpFactory .GET(pathTemplate) .withBearerToken(authManager.getJwtToken()) .addPathParameter(SERVICE_PARAM, lockKey.toString()) - .execute(LockInfo.class); + .execute(LockInfoResponse.class); } @Override diff --git a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/LockServiceClient.java b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/LockServiceClient.java index 296a9b248..55a975d5d 100644 --- a/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/LockServiceClient.java +++ b/cloud/flamingock-cloud/src/main/java/io/flamingock/cloud/lock/client/LockServiceClient.java @@ -16,17 +16,17 @@ package io.flamingock.cloud.lock.client; import io.flamingock.cloud.api.request.LockExtensionRequest; -import io.flamingock.cloud.api.response.LockInfo; +import io.flamingock.cloud.api.response.LockInfoResponse; import io.flamingock.internal.core.external.store.lock.LockKey; import io.flamingock.internal.util.id.RunnerId; public interface LockServiceClient { - LockInfo extendLock(LockKey lockKey, + LockInfoResponse extendLock(LockKey lockKey, RunnerId runnerId, LockExtensionRequest lockRequest); - LockInfo getLock(LockKey lockKey); + LockInfoResponse getLock(LockKey lockKey); void releaseLock(LockKey lockKey, RunnerId runnerId); } 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 6141ba7e4..ab8994381 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 @@ -20,11 +20,13 @@ 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.request.ChangeRequest; import io.flamingock.cloud.api.response.StageResponse; -import io.flamingock.cloud.api.response.TaskResponse; +import io.flamingock.cloud.api.response.ChangeResponse; import io.flamingock.cloud.api.vo.CloudChangeAction; -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.CloudTargetSystemAuditMarkType; +import io.flamingock.cloud.CloudApiMapper; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.cloud.lock.CloudLockService; import io.flamingock.internal.core.configuration.core.CoreConfigurable; import io.flamingock.internal.common.core.recovery.action.ChangeAction; @@ -56,10 +58,10 @@ public static ExecutionPlanRequest toRequest(List loadedSta List requestStages = new ArrayList<>(loadedStages.size()); for (int i = 0; i < loadedStages.size(); i++) { AbstractLoadedStage currentStage = loadedStages.get(i); - List stageTasks = currentStage + List stageTasks = currentStage .getTasks() .stream() - .map(descriptor -> CloudExecutionPlanMapper.mapToTaskRequest(descriptor, ongoingStatusesMap)) + .map(descriptor -> CloudExecutionPlanMapper.mapToChangeRequest(descriptor, ongoingStatusesMap)) .collect(Collectors.toList()); requestStages.add(new StageRequest(currentStage.getName(), i, stageTasks)); } @@ -67,17 +69,13 @@ public static ExecutionPlanRequest toRequest(List loadedSta return new ExecutionPlanRequest(lockAcquiredForMillis, requestStages); } - private static TaskRequest mapToTaskRequest(AbstractLoadedTask descriptor, + private static ChangeRequest mapToChangeRequest(AbstractLoadedTask descriptor, Map ongoingStatusesMap) { - if (ongoingStatusesMap.containsKey(descriptor.getId())) { - if (ongoingStatusesMap.get(descriptor.getId()) == TargetSystemAuditMarkType.ROLLBACK) { - return TaskRequest.ongoingRollback(descriptor.getId(), descriptor.isTransactional()); - } else { - return TaskRequest.ongoingExecution(descriptor.getId(), descriptor.isTransactional()); - } - } else { - return TaskRequest.task(descriptor.getId(), descriptor.isTransactional()); - } + TargetSystemAuditMarkType domainStatus = ongoingStatusesMap.get(descriptor.getId()); + CloudTargetSystemAuditMarkType cloudStatus = domainStatus != null + ? CloudApiMapper.toCloud(domainStatus) + : CloudTargetSystemAuditMarkType.NONE; + return new ChangeRequest(descriptor.getId(), cloudStatus, descriptor.isTransactional()); } static List getExecutableStages(ExecutionPlanResponse response, List loadedStages) { @@ -100,7 +98,7 @@ static List getExecutableStages(ExecutionPlanResponse response, private static ExecutableStage mapToExecutable(AbstractLoadedStage loadedStage, StageResponse stageResponse) { Map taskStateMap = stageResponse.getTasks() .stream() - .collect(Collectors.toMap(TaskResponse::getId, TaskResponse::getAction)); + .collect(Collectors.toMap(ChangeResponse::getId, ChangeResponse::getAction)); // Build action map using anti-corruption layer ChangeActionMap actionPlan = getChangeActionMap(loadedStage, taskStateMap); 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 996695816..1c24d5a71 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 @@ -22,7 +22,7 @@ import io.flamingock.internal.common.core.error.FlamingockException; 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.common.core.targets.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/test/java/io/flamingock/cloud/audit/HttpAuditWriterMapperTest.java b/cloud/flamingock-cloud/src/test/java/io/flamingock/cloud/audit/HttpAuditWriterMapperTest.java index e2d25c3dc..608f829c7 100644 --- a/cloud/flamingock-cloud/src/test/java/io/flamingock/cloud/audit/HttpAuditWriterMapperTest.java +++ b/cloud/flamingock-cloud/src/test/java/io/flamingock/cloud/audit/HttpAuditWriterMapperTest.java @@ -17,7 +17,9 @@ import io.flamingock.core.kit.audit.AuditEntryTestFactory; import io.flamingock.cloud.api.request.AuditEntryRequest; -import io.flamingock.cloud.api.request.CloudAuditTxType; +import io.flamingock.cloud.CloudApiMapper; +import io.flamingock.cloud.api.vo.CloudRecoveryStrategy; +import io.flamingock.cloud.api.vo.CloudTxStrategy; import io.flamingock.internal.common.core.audit.AuditEntry; import io.flamingock.internal.common.core.audit.AuditTxType; import org.junit.jupiter.api.Test; @@ -39,7 +41,7 @@ public void apply() {} void shouldIncludeTxTypeInRequest() { // Given AuditEntry auditEntry = AuditEntryTestFactory.createTestAuditEntry("test-change", AuditEntry.Status.APPLIED, AuditTxType.TX_SHARED, _001__TestManualInterventionChange.class); - CloudAuditTxType txType = auditEntry.getTxType() != null ? auditEntry.getTxType().toCloud() : null; + CloudTxStrategy txType = auditEntry.getTxType() != null ? CloudApiMapper.toCloud(auditEntry.getTxType()) : null; // When AuditEntryRequest request = new AuditEntryRequest( @@ -47,8 +49,8 @@ void shouldIncludeTxTypeInRequest() { auditEntry.getTaskId(), auditEntry.getAuthor(), System.currentTimeMillis(), - auditEntry.getState().toRequestStatus(), - auditEntry.getType().toRequestExecutionType(), + CloudApiMapper.toCloud(auditEntry.getState()), + CloudApiMapper.toCloud(auditEntry.getType()), auditEntry.getClassName(), auditEntry.getMethodName(), auditEntry.getExecutionMillis(), @@ -59,19 +61,19 @@ void shouldIncludeTxTypeInRequest() { txType, auditEntry.getTargetSystemId(), auditEntry.getOrder(), - auditEntry.getRecoveryStrategy(), + auditEntry.getRecoveryStrategy() != null ? CloudRecoveryStrategy.valueOf(auditEntry.getRecoveryStrategy().name()) : null, auditEntry.getTransactionFlag() ); // Then - assertEquals(CloudAuditTxType.TX_SHARED, request.getTxStrategy()); + assertEquals(CloudTxStrategy.TX_SHARED, request.getTxStrategy()); } @Test void shouldHandleNullTxType() { // Given AuditEntry auditEntry = AuditEntryTestFactory.createTestAuditEntry("test-change", AuditEntry.Status.APPLIED, null, _001__TestDefaultRecoveryChange.class); - CloudAuditTxType txType = auditEntry.getTxType() != null ? auditEntry.getTxType().toCloud() : null; + CloudTxStrategy txType = auditEntry.getTxType() != null ? CloudApiMapper.toCloud(auditEntry.getTxType()) : null; // When AuditEntryRequest request = new AuditEntryRequest( @@ -79,8 +81,8 @@ void shouldHandleNullTxType() { auditEntry.getTaskId(), auditEntry.getAuthor(), System.currentTimeMillis(), - auditEntry.getState().toRequestStatus(), - auditEntry.getType().toRequestExecutionType(), + CloudApiMapper.toCloud(auditEntry.getState()), + CloudApiMapper.toCloud(auditEntry.getType()), auditEntry.getClassName(), auditEntry.getMethodName(), auditEntry.getExecutionMillis(), @@ -91,11 +93,11 @@ void shouldHandleNullTxType() { txType, auditEntry.getTargetSystemId(), auditEntry.getOrder(), - auditEntry.getRecoveryStrategy(), + auditEntry.getRecoveryStrategy() != null ? CloudRecoveryStrategy.valueOf(auditEntry.getRecoveryStrategy().name()) : null, auditEntry.getTransactionFlag() ); // Then - assertEquals(CloudAuditTxType.NON_TX, request.getTxStrategy()); + assertEquals(CloudTxStrategy.NON_TX, request.getTxStrategy()); } } \ No newline at end of file diff --git a/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudAuditPersistenceTest.java b/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudAuditPersistenceTest.java index 5ade85ff1..212b5acc9 100644 --- a/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudAuditPersistenceTest.java +++ b/cloud/flamingock-cloud/src/test/java/io/flamingock/core/cloud/CloudAuditPersistenceTest.java @@ -26,7 +26,7 @@ import io.flamingock.internal.common.core.error.FlamingockException; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.core.builder.FlamingockFactory; -import io.flamingock.cloud.api.request.AuditEntryRequest; +import io.flamingock.cloud.api.vo.CloudAuditStatus; import io.flamingock.internal.core.external.store.lock.LockException; import io.flamingock.internal.core.builder.runner.Runner; import org.junit.jupiter.api.AfterEach; @@ -80,7 +80,7 @@ static void beforeAll() { AuditEntryMatcher( "create-persons-table-from-template", - AuditEntryRequest.AuditEntryStatus.APPLIED, + CloudAuditStatus.APPLIED, _001__CloudChange1.class.getName(), "apply" )); @@ -88,7 +88,7 @@ static void beforeAll() { AuditEntryMatcher( "create-persons-table-from-template-2", - AuditEntryRequest.AuditEntryStatus.APPLIED, + CloudAuditStatus.APPLIED, _002__CloudChange2.class.getName(), "apply" )); 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 72e181ac6..3d70769f4 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 @@ -22,8 +22,8 @@ import io.flamingock.common.test.cloud.deprecated.MockRunnerServerOld; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.core.builder.FlamingockFactory; -import io.flamingock.cloud.api.request.AuditEntryRequest; -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.vo.CloudAuditStatus; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.builder.runner.Runner; import org.junit.jupiter.api.AfterEach; @@ -73,7 +73,7 @@ static void beforeAll() { AuditEntryMatcher( "create-persons-table-from-template", - AuditEntryRequest.AuditEntryStatus.APPLIED, + CloudAuditStatus.APPLIED, _001__CloudChange1.class.getName(), "apply" )); @@ -81,7 +81,7 @@ static void beforeAll() { AuditEntryMatcher( "create-persons-table-from-template-2", - AuditEntryRequest.AuditEntryStatus.APPLIED, + CloudAuditStatus.APPLIED, _002__CloudChange2.class.getName(), "apply" )); diff --git a/core/flamingock-core-commons/build.gradle.kts b/core/flamingock-core-commons/build.gradle.kts index 9ce946521..a82c8fbc1 100644 --- a/core/flamingock-core-commons/build.gradle.kts +++ b/core/flamingock-core-commons/build.gradle.kts @@ -2,7 +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(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-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditEntry.java b/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditEntry.java index c8121e361..013ea9de9 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditEntry.java +++ b/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditEntry.java @@ -17,7 +17,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import io.flamingock.api.RecoveryStrategy; -import io.flamingock.cloud.api.request.AuditEntryRequest; import java.time.LocalDateTime; @@ -314,10 +313,6 @@ public boolean hasHigherPriorityThan(Status other) { return this.priority > other.priority; } - public AuditEntryRequest.AuditEntryStatus toRequestStatus() { - return AuditEntryRequest.AuditEntryStatus.valueOf(name()); - } - } //TODO remove this @@ -328,9 +323,6 @@ public boolean isLegacy() { return this == MONGOCK_EXECUTION || this == MONGOCK_BEFORE; } - public AuditEntryRequest.ChangeType toRequestExecutionType() { - return AuditEntryRequest.ChangeType.valueOf(name()); - } } diff --git a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditTxType.java b/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditTxType.java index 4057cfa76..2db0f3114 100644 --- a/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditTxType.java +++ b/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/audit/AuditTxType.java @@ -15,8 +15,6 @@ */ package io.flamingock.internal.common.core.audit; -import io.flamingock.cloud.api.request.CloudAuditTxType; - public enum AuditTxType { NON_TX, TX_SHARED, // SharedTx (Target system the same as the audit store) @@ -47,7 +45,4 @@ public static String safeString(AuditTxType strategy) { return strategy.name(); } - public CloudAuditTxType toCloud() { - return CloudAuditTxType.valueOf(this.name()); - } } \ No newline at end of file diff --git a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java b/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/targets/TargetSystemAuditMarkType.java similarity index 93% rename from cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java rename to core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/targets/TargetSystemAuditMarkType.java index 042bb61f2..da33f5285 100644 --- a/cloud/flamingock-cloud-api/src/main/java/io/flamingock/cloud/api/vo/TargetSystemAuditMarkType.java +++ b/core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/targets/TargetSystemAuditMarkType.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.flamingock.cloud.api.vo; +package io.flamingock.internal.common.core.targets; public enum TargetSystemAuditMarkType { NONE, APPLIED, ROLLBACK 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 cc7ffb364..858ab0192 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 814385e69..3ba4c14aa 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 e6eeffc6e..62b99696e 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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/flamingock-core/src/test/java/io/flamingock/core/ConversionsTest.java b/core/flamingock-core/src/test/java/io/flamingock/core/ConversionsTest.java index ea4bc4076..e03f047c5 100644 --- a/core/flamingock-core/src/test/java/io/flamingock/core/ConversionsTest.java +++ b/core/flamingock-core/src/test/java/io/flamingock/core/ConversionsTest.java @@ -15,7 +15,8 @@ */ package io.flamingock.core; -import io.flamingock.cloud.api.request.AuditEntryRequest; +import io.flamingock.cloud.api.vo.CloudAuditStatus; +import io.flamingock.cloud.api.vo.CloudChangeType; import io.flamingock.internal.common.core.audit.AuditEntry; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -32,8 +33,8 @@ public class ConversionsTest { @DisplayName("AuditEntryRequest.ExecutionType should match AuditEntry.ExecutionType") void auditEntryExecutionTypeShouldAuditEntryRequestExecutionType() { Set auditEntryRequestExecutionTypeValues = Arrays - .stream(AuditEntryRequest.ChangeType.values()) - .map(AuditEntryRequest.ChangeType::name) + .stream(CloudChangeType.values()) + .map(CloudChangeType::name) .collect(Collectors.toSet()); List auditEntryExecutionTypeValues = Arrays.stream(AuditEntry.ChangeType.values()) .map(AuditEntry.ChangeType::name) @@ -53,8 +54,8 @@ void auditEntryExecutionTypeShouldAuditEntryRequestExecutionType() { @DisplayName("AuditEntryRequest.Status should match AuditEntry.Status") void auditEntryStateShouldAuditEntryRequestState() { Set auditEntryRequestExecutionTypeValues = Arrays - .stream(AuditEntryRequest.AuditEntryStatus.values()) - .map(AuditEntryRequest.AuditEntryStatus::name) + .stream(CloudAuditStatus.values()) + .map(CloudAuditStatus::name) .collect(Collectors.toSet()); List auditEntryExecutionTypeValues = Arrays.stream(AuditEntry.Status.values()) .map(AuditEntry.Status::name) 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 774cf6cc9..95cfc1844 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 dd75d979f..ee6bbbbe7 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.common.couchbase.CouchbaseCollectionHelper; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.core.builder.FlamingockFactory; @@ -59,9 +59,9 @@ import java.util.Collections; import java.util.UUID; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.APPLIED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.FAILED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.ROLLED_BACK; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.APPLIED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.FAILED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.ROLLED_BACK; @Testcontainers public class CouchbaseTargetSystemTest { 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 820793eb1..48570fca2 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 a86a6e7df..e0030c9b9 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 638d4c484..0e6d98f8f 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; @@ -50,9 +50,9 @@ import java.util.Collections; import java.util.UUID; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.APPLIED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.FAILED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.ROLLED_BACK; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.APPLIED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.FAILED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.ROLLED_BACK; @Testcontainers public class DynamoDBCloudTargetSystemTest { 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 a96cf7929..d0045d6c4 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; @@ -53,9 +53,9 @@ import java.util.Collections; import java.util.UUID; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.APPLIED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.FAILED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.ROLLED_BACK; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.APPLIED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.FAILED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.ROLLED_BACK; @Testcontainers public class MongoDBSpringDataTargetSystemTest { 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 f90623eaa..8b6c774c8 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 a48744034..e4e22a8d9 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 9f83cb3d1..e5fc87ad5 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; @@ -52,9 +52,9 @@ import java.util.Collections; import java.util.UUID; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.APPLIED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.FAILED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.ROLLED_BACK; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.APPLIED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.FAILED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.ROLLED_BACK; @Testcontainers public class MongoDBSyncTargetSystemTest { 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 b4b78abd8..a067c88ad 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 b70068226..4cc74a67c 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,7 +17,7 @@ import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.common.sql.SqlDialect; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import io.flamingock.internal.core.transaction.TransactionManager; 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 cff980104..332317640 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.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.core.builder.FlamingockFactory; import io.flamingock.internal.core.builder.CloudChangeRunnerBuilder; import io.flamingock.internal.common.core.util.Deserializer; @@ -48,9 +48,9 @@ import java.util.Collections; import java.util.UUID; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.APPLIED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.FAILED; -import static io.flamingock.cloud.api.request.AuditEntryRequest.AuditEntryStatus.ROLLED_BACK; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.APPLIED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.FAILED; +import static io.flamingock.cloud.api.vo.CloudAuditStatus.ROLLED_BACK; @Testcontainers diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/AuditRequestExpectation.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/AuditRequestExpectation.java index 54bfd8d1c..e079db259 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/AuditRequestExpectation.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/AuditRequestExpectation.java @@ -15,14 +15,14 @@ */ package io.flamingock.common.test.cloud; -import io.flamingock.cloud.api.request.AuditEntryRequest; +import io.flamingock.cloud.api.vo.CloudAuditStatus; public class AuditRequestExpectation { private final String taskId; - private final AuditEntryRequest.AuditEntryStatus state; + private final CloudAuditStatus state; private final String executionId; - public AuditRequestExpectation(String executionId, String taskId, AuditEntryRequest.AuditEntryStatus state) { + public AuditRequestExpectation(String executionId, String taskId, CloudAuditStatus state) { this.executionId = executionId; this.taskId = taskId; this.state = state; @@ -32,7 +32,7 @@ public String getTaskId() { return taskId; } - public AuditEntryRequest.AuditEntryStatus getState() { + public CloudAuditStatus getState() { return state; } 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 8d561e0da..d37863ccc 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 @@ -30,7 +30,7 @@ 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.cloud.api.response.ChangeResponse; import io.flamingock.internal.common.core.audit.AuditEntry; import java.util.*; @@ -72,7 +72,7 @@ private static StageResponse toStageResponse(StageRequest stageRequest) { StageResponse stage = new StageResponse(); stage.setName(stageRequest.getName()); stage.setTasks(stageRequest.getTasks().stream() - .map(onGoingTask -> new TaskResponse(onGoingTask.getId(), APPLY)) + .map(onGoingTask -> new ChangeResponse(onGoingTask.getId(), APPLY)) .collect(Collectors.toList())); return stage; } diff --git a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/AuditEntryMatcher.java b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/AuditEntryMatcher.java index ff3ada127..654d8a240 100644 --- a/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/AuditEntryMatcher.java +++ b/utils/test-util/src/main/java/io/flamingock/common/test/cloud/deprecated/AuditEntryMatcher.java @@ -16,23 +16,23 @@ package io.flamingock.common.test.cloud.deprecated; -import io.flamingock.cloud.api.request.AuditEntryRequest; +import io.flamingock.cloud.api.vo.CloudAuditStatus; import java.beans.Transient; @Deprecated public class AuditEntryMatcher { private final String taskId; - private final AuditEntryRequest.AuditEntryStatus state; + private final CloudAuditStatus state; private final String className; private final String methodName; private final boolean transactional; - public AuditEntryMatcher(String taskId, AuditEntryRequest.AuditEntryStatus state, String className, String methodName) { + public AuditEntryMatcher(String taskId, CloudAuditStatus state, String className, String methodName) { this(taskId, state, className, methodName, true); } - public AuditEntryMatcher(String taskId, AuditEntryRequest.AuditEntryStatus state, String className, String methodName, boolean transactional) { + public AuditEntryMatcher(String taskId, CloudAuditStatus state, String className, String methodName, boolean transactional) { this.taskId = taskId; this.state = state; this.className = className; @@ -44,7 +44,7 @@ public String getTaskId() { return taskId; } - public AuditEntryRequest.AuditEntryStatus getState() { + public CloudAuditStatus getState() { return state; } 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 883e3c618..206a1bd94 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,12 @@ */ package io.flamingock.common.test.cloud.deprecated; -import io.flamingock.cloud.api.response.LockInfo; +import io.flamingock.cloud.api.response.LockInfoResponse; import io.flamingock.cloud.api.response.StageResponse; -import io.flamingock.cloud.api.response.TaskResponse; -import io.flamingock.cloud.api.vo.ExecutionAction; -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.response.ChangeResponse; +import io.flamingock.cloud.api.vo.CloudExecutionAction; +import io.flamingock.cloud.api.vo.CloudTargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import io.flamingock.internal.common.core.audit.AuditEntry; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.client.ScenarioMappingBuilder; @@ -29,7 +30,7 @@ import io.flamingock.cloud.api.response.TokenExchangeResponse; 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.request.StageRequest; import io.flamingock.cloud.api.request.ChangeRequest; import io.flamingock.internal.core.external.targets.mark.TargetSystemAuditMark; import java.util.*; @@ -178,18 +179,15 @@ public MockRunnerServerOld addSimpleStageExecutionPlan(String executionId, Strin .collect(Collectors.toMap(TargetSystemAuditMark::getTaskId, TargetSystemAuditMark::getOperation)); Set alreadyAddedTasks = new HashSet<>(); - List tasks = auditEntries.stream() + List tasks = auditEntries.stream() .filter(auditEntryExpectation -> !alreadyAddedTasks.contains(auditEntryExpectation.getTaskId())) .map(auditEntryExpectation -> { alreadyAddedTasks.add(auditEntryExpectation.getTaskId()); TargetSystemAuditMarkType operation = ongoingOperationByTask.get(auditEntryExpectation.getTaskId()); - if (operation == null) { - return TaskRequest.task(auditEntryExpectation.getTaskId(), auditEntryExpectation.isTransactional()); - } else if (operation == TargetSystemAuditMarkType.ROLLBACK) { - return TaskRequest.ongoingRollback(auditEntryExpectation.getTaskId(), auditEntryExpectation.isTransactional()); - } else { - return TaskRequest.ongoingExecution(auditEntryExpectation.getTaskId(), auditEntryExpectation.isTransactional()); - } + CloudTargetSystemAuditMarkType cloudStatus = operation != null + ? CloudTargetSystemAuditMarkType.valueOf(operation.name()) + : CloudTargetSystemAuditMarkType.NONE; + return new ChangeRequest(auditEntryExpectation.getTaskId(), cloudStatus, auditEntryExpectation.isTransactional()); }) .collect(Collectors.toList()); @@ -209,18 +207,15 @@ public MockRunnerServerOld addMultipleStageExecutionPlan(String executionId, Lis .collect(Collectors.toMap(TargetSystemAuditMark::getTaskId, TargetSystemAuditMark::getOperation)); Set alreadyAddedTasks = new HashSet<>(); - List tasks = auditEntries.stream() + List tasks = auditEntries.stream() .filter(auditEntryExpectation -> !alreadyAddedTasks.contains(auditEntryExpectation.getTaskId())) .map(auditEntryExpectation -> { alreadyAddedTasks.add(auditEntryExpectation.getTaskId()); TargetSystemAuditMarkType operation = ongoingOperationByTask.get(auditEntryExpectation.getTaskId()); - if (operation == null) { - return TaskRequest.task(auditEntryExpectation.getTaskId(), auditEntryExpectation.isTransactional()); - } else if (operation == TargetSystemAuditMarkType.ROLLBACK) { - return TaskRequest.ongoingRollback(auditEntryExpectation.getTaskId(), auditEntryExpectation.isTransactional()); - } else { - return TaskRequest.ongoingExecution(auditEntryExpectation.getTaskId(), auditEntryExpectation.isTransactional()); - } + CloudTargetSystemAuditMarkType cloudStatus = operation != null + ? CloudTargetSystemAuditMarkType.valueOf(operation.name()) + : CloudTargetSystemAuditMarkType.NONE; + return new ChangeRequest(auditEntryExpectation.getTaskId(), cloudStatus, auditEntryExpectation.isTransactional()); }) .collect(Collectors.toList()); @@ -391,7 +386,7 @@ private void mockAuditWriteEndpoint() { } private void mockReleaseLockEndpoint() { - LockInfo lockResponse = new LockInfo(); + LockInfoResponse lockResponse = new LockInfoResponse(); lockResponse.setKey(String.valueOf(serviceId)); lockResponse.setOwner(runnerId); if(executionExpectation != null) { @@ -414,9 +409,9 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { ExecutePlanRequestResponse requestResponse = (ExecutePlanRequestResponse) executionRequestResponses.get(index); ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); executionPlanResponse.setExecutionId(requestResponse.executionId); - executionPlanResponse.setAction(ExecutionAction.EXECUTE); + executionPlanResponse.setAction(CloudExecutionAction.EXECUTE); - LockInfo lockMock = new LockInfo(); + LockInfoResponse lockMock = new LockInfoResponse(); lockMock.setKey(String.valueOf(serviceId)); lockMock.setOwner(runnerId); lockMock.setAcquiredForMillis(requestResponse.getAcquiredForMillis()); @@ -432,9 +427,9 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); executionPlanResponse.setExecutionId(requestResponse.executionId); - executionPlanResponse.setAction(ExecutionAction.AWAIT); + executionPlanResponse.setAction(CloudExecutionAction.AWAIT); - LockInfo lock = new LockInfo(); + LockInfoResponse lock = new LockInfoResponse(); lock.setAcquisitionId(requestResponse.getAcquisitionId()); lock.setKey(serviceName); lock.setOwner(runnerId); @@ -444,7 +439,7 @@ private ExecutionPlanResponse getExecutionPlanResponse(int index) { } else { //IT'S CONTINUE ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); - executionPlanResponse.setAction(ExecutionAction.CONTINUE); + executionPlanResponse.setAction(CloudExecutionAction.CONTINUE); return executionPlanResponse; } @@ -454,7 +449,7 @@ private static StageResponse toStageResponse(StageRequest stageRequest) { StageResponse stage = new StageResponse(); stage.setName(stageRequest.getName()); stage.setTasks(stageRequest.getTasks().stream() - .map(onGoingTask -> new TaskResponse(onGoingTask.getId(), APPLY)) + .map(onGoingTask -> new ChangeResponse(onGoingTask.getId(), APPLY)) .collect(Collectors.toList())); return stage; } 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 d447e34fa..145cca7cb 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 @@ -22,13 +22,13 @@ import io.flamingock.common.test.cloud.execution.ExecutionPlanRequestResponseMock; 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.request.ChangeRequest; import io.flamingock.cloud.api.response.ExecutionPlanResponse; -import io.flamingock.cloud.api.response.LockInfo; +import io.flamingock.cloud.api.response.LockInfoResponse; import io.flamingock.cloud.api.response.StageResponse; -import io.flamingock.cloud.api.response.TaskResponse; -import io.flamingock.cloud.api.vo.ExecutionAction; -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.response.ChangeResponse; +import io.flamingock.cloud.api.vo.CloudExecutionAction; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; import java.util.List; import java.util.Optional; @@ -58,7 +58,7 @@ public ExecutionPlanRequest getRequest(ExecutionBaseRequestResponseMock requestR .map(stagePrototype -> new StageRequest( stagePrototype.getName(), stagePrototype.getOrder(), - transformTaskRequests(stagePrototype.getTasks(), requestResponse)) + transformChangeRequests(stagePrototype.getTasks(), requestResponse)) ).collect(Collectors.toList()); return new ExecutionPlanRequest(requestResponse.getAcquiredForMillis(), stages); @@ -73,48 +73,48 @@ public ExecutionPlanResponse getResponse(ExecutionBaseRequestResponseMock mockRe .map(stagePrototype -> new StageResponse( stagePrototype.getName(), stagePrototype.getOrder(), - transformTaskResponses(stagePrototype.getTasks(), mockRequestResponse)) + transformChangeResponses(stagePrototype.getTasks(), mockRequestResponse)) ).collect(Collectors.toList()); - LockInfo lock = new LockInfo(); + LockInfoResponse lock = new LockInfoResponse(); lock.setAcquisitionId(mockRequestResponse.getAcquisitionId()); lock.setKey(serviceId); lock.setOwner(runnerId); - return new ExecutionPlanResponse(ExecutionAction.EXECUTE, executionId, lock, stages); + return new ExecutionPlanResponse(CloudExecutionAction.EXECUTE, executionId, lock, stages); } else if (mockRequestResponse instanceof ExecutionAwaitRequestResponseMock) { - LockInfo lock = new LockInfo(); + LockInfoResponse lock = new LockInfoResponse(); lock.setAcquisitionId(mockRequestResponse.getAcquisitionId()); lock.setKey(serviceId); lock.setOwner(runnerId); lock.setAcquiredForMillis(mockRequestResponse.getAcquiredForMillis()); - return new ExecutionPlanResponse(ExecutionAction.AWAIT, executionId, lock); + return new ExecutionPlanResponse(CloudExecutionAction.AWAIT, executionId, lock); } else { //IT'S CONTINUE ExecutionPlanResponse executionPlanResponse = new ExecutionPlanResponse(); - executionPlanResponse.setAction(ExecutionAction.CONTINUE); + executionPlanResponse.setAction(CloudExecutionAction.CONTINUE); return executionPlanResponse; } } - private List transformTaskRequests(List prototypeTasks, + private List transformChangeRequests(List prototypeTasks, ExecutionBaseRequestResponseMock requestResponse) { return prototypeTasks.stream() .map(prototypeTask -> { Optional requestResponseTask = requestResponse.getTaskById(prototypeTask.getTaskId()); - return prototypeTask.toExecutionPlanTaskRequest( + return prototypeTask.toExecutionPlanChangeRequest( requestResponseTask.map(MockRequestResponseTask::getOngoingStatus).orElse(TargetSystemAuditMarkType.NONE)); } ).collect(Collectors.toList()); } - private List transformTaskResponses(List prototypeTasks, + private List transformChangeResponses(List prototypeTasks, ExecutionBaseRequestResponseMock responseExecutionPlan) { return prototypeTasks.stream() .map(prototypeTask -> { Optional requestResponseTask = responseExecutionPlan.getTaskById(prototypeTask.getTaskId()); - return prototypeTask.toExecutionPlanTaskResponse( + return prototypeTask.toExecutionPlanChangeResponse( requestResponseTask.map(MockRequestResponseTask::getRequiredAction).orElse(APPLY)); } ).collect(Collectors.toList()); 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 784d88090..6a6adf5b2 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 @@ -16,7 +16,7 @@ package io.flamingock.common.test.cloud.mock; import io.flamingock.cloud.api.vo.CloudChangeAction; -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.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 0de6e89a7..e5d962b76 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 @@ -16,11 +16,12 @@ package io.flamingock.common.test.cloud.prototype; import io.flamingock.common.test.cloud.deprecated.AuditEntryMatcher; -import io.flamingock.cloud.api.request.AuditEntryRequest; -import io.flamingock.cloud.api.request.TaskRequest; +import io.flamingock.cloud.api.vo.CloudAuditStatus; +import io.flamingock.cloud.api.request.ChangeRequest; import io.flamingock.cloud.api.vo.CloudChangeAction; -import io.flamingock.cloud.api.response.TaskResponse; -import io.flamingock.cloud.api.vo.TargetSystemAuditMarkType; +import io.flamingock.cloud.api.response.ChangeResponse; +import io.flamingock.cloud.api.vo.CloudTargetSystemAuditMarkType; +import io.flamingock.internal.common.core.targets.TargetSystemAuditMarkType; public class PrototypeTask { private final String taskId; @@ -47,31 +48,26 @@ public boolean isTransactional() { return transactional; } - public TaskRequest toExecutionPlanTaskRequest(TargetSystemAuditMarkType ongoingStatus) { - return new TaskRequest( - taskId, - ongoingStatus != null ? ongoingStatus : TargetSystemAuditMarkType.NONE, - transactional - ); + public ChangeRequest toExecutionPlanChangeRequest(TargetSystemAuditMarkType ongoingStatus) { + CloudTargetSystemAuditMarkType cloudStatus = ongoingStatus != null + ? CloudTargetSystemAuditMarkType.valueOf(ongoingStatus.name()) + : CloudTargetSystemAuditMarkType.NONE; + return new ChangeRequest(taskId, cloudStatus, transactional); } - public TaskRequest toExecutionPlanTaskRequest() { - return new TaskRequest( - taskId, - TargetSystemAuditMarkType.NONE, - transactional - ); + public ChangeRequest toExecutionPlanChangeRequest() { + return new ChangeRequest(taskId, CloudTargetSystemAuditMarkType.NONE, transactional); } - public TaskResponse toExecutionPlanTaskResponse(CloudChangeAction state) { - return new TaskResponse(taskId, state != null ? state: CloudChangeAction.APPLY); + public ChangeResponse toExecutionPlanChangeResponse(CloudChangeAction state) { + return new ChangeResponse(taskId, state != null ? state: CloudChangeAction.APPLY); } - public TaskResponse toResponse() { - return new TaskResponse(taskId, CloudChangeAction.APPLY); + public ChangeResponse toResponse() { + return new ChangeResponse(taskId, CloudChangeAction.APPLY); } - public AuditEntryMatcher toAuditExpectation(AuditEntryRequest.AuditEntryStatus status) { + public AuditEntryMatcher toAuditExpectation(CloudAuditStatus status) { return new AuditEntryMatcher( taskId, status,