Skip to content

Commit e56935d

Browse files
authored
feature: mongock history import to flamingock community (#739)
1 parent 1217c52 commit e56935d

File tree

89 files changed

+1566
-1993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+1566
-1993
lines changed

core/flamingock-core-api/src/main/java/io/flamingock/api/annotations/Stage.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,5 @@
5050
String name() default "";
5151

5252
String description() default "";
53-
54-
StageType type() default StageType.DEFAULT;
5553

5654
}

core/flamingock-core-api/src/main/java/io/flamingock/api/task/ChangeCategoryAware.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,4 @@
1717

1818
public interface ChangeCategoryAware {
1919

20-
boolean hasCategory(ChangeCategory property);
21-
22-
default boolean hasAnyCategory(ChangeCategory... properties) {
23-
for (ChangeCategory property : properties) {
24-
if (hasCategory(property)) {
25-
return true;
26-
}
27-
}
28-
return false;
29-
}
30-
31-
default boolean hasAllCategories(ChangeCategory... properties) {
32-
for (ChangeCategory property : properties) {
33-
if (!hasCategory(property)) {
34-
return false;
35-
}
36-
}
37-
return true;
38-
}
3920
}

core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/metadata/Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public final class Constants {
2121

2222
public static final String FULL_GRAALVM_REFLECT_CLASSES_PATH = "META-INF/flamingock/reflection-classes.txt";
2323

24+
public static final String DEFAULT_MONGOCK_ORIGIN = "mongockChangeLog";
2425

2526
private Constants() {}
2627

core/importer/flamingock-importer/src/main/java/io/flamingock/importer/util/PipelineHelper.java renamed to core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/pipeline/PipelineHelper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.flamingock.importer.util;
16+
package io.flamingock.internal.common.core.pipeline;
1717

1818
import io.flamingock.internal.common.core.audit.AuditEntry;
19-
import io.flamingock.internal.common.core.pipeline.PipelineDescriptor;
2019
import org.jetbrains.annotations.NotNull;
2120

2221
public class PipelineHelper {

core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/preview/builder/CodePreviewTaskBuilder.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,9 @@
3535
import javax.lang.model.element.ElementKind;
3636
import javax.lang.model.element.ExecutableElement;
3737
import javax.lang.model.element.TypeElement;
38-
import javax.lang.model.element.VariableElement;
39-
import javax.lang.model.type.TypeMirror;
4038
import java.lang.annotation.Annotation;
41-
import java.lang.reflect.Constructor;
42-
import java.util.ArrayList;
43-
import java.util.Arrays;
4439
import java.util.List;
4540
import java.util.Optional;
46-
import java.util.stream.Collectors;
47-
import java.util.stream.Stream;
4841

4942

5043
public class CodePreviewTaskBuilder implements PreviewTaskBuilder<CodePreviewChange> {
@@ -65,12 +58,12 @@ public class CodePreviewTaskBuilder implements PreviewTaskBuilder<CodePreviewCha
6558
private CodePreviewTaskBuilder() {
6659
}
6760

68-
public static CodePreviewTaskBuilder builder() {
61+
public static CodePreviewTaskBuilder instance() {
6962
return new CodePreviewTaskBuilder();
7063
}
7164

72-
public static CodePreviewTaskBuilder builder(TypeElement typeElement) {
73-
return builder().setTypeElement(typeElement);
65+
public static CodePreviewTaskBuilder instance(TypeElement typeElement) {
66+
return instance().setTypeElement(typeElement);
7467
}
7568

7669
public CodePreviewTaskBuilder setId(String id) {

core/flamingock-core-commons/src/main/java/io/flamingock/internal/common/core/task/TaskDescriptor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ public interface TaskDescriptor extends Comparable<TaskDescriptor> {
4040

4141
boolean isLegacy();
4242

43+
default boolean isStandard() {
44+
return !(isLegacy() || isSystem());
45+
}
46+
4347
default String pretty() {
4448
if (getOrder().isPresent()) {
4549
return String.format("%s) id: %s ", getOrder().get(), getId());

core/flamingock-core/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ val jacksonVersion = "2.16.0"
22

33
dependencies {
44
api(project(":core:flamingock-core-commons"))
5-
api(project(":core:importer:flamingock-importer"))
65
api(project(":utils:general-util"))
76

87
api("javax.inject:javax.inject:1")

core/flamingock-core/src/main/java/io/flamingock/internal/core/pipeline/loaded/stage/DefaultLoadedStage.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@
1616
package io.flamingock.internal.core.pipeline.loaded.stage;
1717

1818

19-
import io.flamingock.api.task.ChangeCategory;
20-
import io.flamingock.internal.common.core.error.validation.ValidationError;
2119
import io.flamingock.api.StageType;
20+
import io.flamingock.internal.common.core.error.validation.ValidationError;
2221
import io.flamingock.internal.core.pipeline.loaded.PipelineValidationContext;
2322
import io.flamingock.internal.core.task.loaded.AbstractLoadedChange;
2423
import io.flamingock.internal.core.task.loaded.AbstractLoadedTask;
@@ -33,6 +32,8 @@
3332
*/
3433
public class DefaultLoadedStage extends AbstractLoadedStage {
3534

35+
private final static String INVALID_CHANGE_TYPE_MSG = "Invalid change detected: a non-standard change was found while processing a standard stage";
36+
3637
private static final StageValidationContext validationContext = StageValidationContext.builder()
3738
.setSorted(SEQUENTIAL_FORMATTED)
3839
.build();
@@ -46,15 +47,12 @@ public DefaultLoadedStage(String name,
4647
@Override
4748
public List<ValidationError> getValidationErrors(PipelineValidationContext context) {
4849
List<ValidationError> errors = super.getValidationErrors(context);
49-
String changeCategoryErrorMsg = String.format(
50-
"Change[{}] in default stage cannot have categories %s or %s",
51-
ChangeCategory.SYSTEM, ChangeCategory.IMPORT);
5250

53-
for(AbstractLoadedTask task : getTasks()) {
54-
if(task instanceof AbstractLoadedChange) {
51+
for (AbstractLoadedTask task : getTasks()) {
52+
if (task instanceof AbstractLoadedChange) {
5553
AbstractLoadedChange change = (AbstractLoadedChange) task;
56-
if(change.hasAnyCategory(ChangeCategory.SYSTEM, ChangeCategory.IMPORT)) {
57-
errors.add(new ValidationError(changeCategoryErrorMsg, task.getId(), "change"));
54+
if (!change.isStandard()) {
55+
errors.add(new ValidationError(INVALID_CHANGE_TYPE_MSG, task.getId(), "change"));
5856
}
5957
} else {
6058
errors.add(new ValidationError("Task in default stage must be a Change", task.getId(), "change"));
@@ -66,6 +64,4 @@ public List<ValidationError> getValidationErrors(PipelineValidationContext conte
6664
}
6765

6866

69-
70-
7167
}

core/flamingock-core/src/main/java/io/flamingock/internal/core/pipeline/loaded/stage/LegacyLoadedStage.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@
1616
package io.flamingock.internal.core.pipeline.loaded.stage;
1717

1818

19-
import io.flamingock.api.task.ChangeCategory;
20-
import io.flamingock.internal.common.core.error.validation.ValidationError;
2119
import io.flamingock.api.StageType;
20+
import io.flamingock.internal.common.core.error.validation.ValidationError;
2221
import io.flamingock.internal.core.pipeline.loaded.PipelineValidationContext;
2322
import io.flamingock.internal.core.task.loaded.AbstractLoadedChange;
2423
import io.flamingock.internal.core.task.loaded.AbstractLoadedTask;
@@ -32,6 +31,9 @@
3231
* It's the result of adding the loaded task to the ProcessDefinition
3332
*/
3433
public class LegacyLoadedStage extends AbstractLoadedStage {
34+
35+
private final static String INVALID_CHANGE_TYPE_MSG = "Invalid change detected: a non-legacy change was found while processing a legacy stage";
36+
3537
private static final StageValidationContext validationContext = StageValidationContext.builder()
3638
.setSorted(SEQUENTIAL_SIMPLE)
3739
.build();
@@ -46,15 +48,12 @@ public LegacyLoadedStage(String name,
4648
@Override
4749
public List<ValidationError> getValidationErrors(PipelineValidationContext context) {
4850
List<ValidationError> errors = super.getValidationErrors(context);
49-
String changeCategoryErrorMsg = String.format(
50-
"ChangeUnit[{}] in legacy stage cannot have categories %s or %s",
51-
ChangeCategory.SYSTEM, ChangeCategory.IMPORT);
5251

53-
for(AbstractLoadedTask task : getTasks()) {
54-
if(task instanceof AbstractLoadedChange) {
52+
for (AbstractLoadedTask task : getTasks()) {
53+
if (task instanceof AbstractLoadedChange) {
5554
AbstractLoadedChange change = (AbstractLoadedChange) task;
56-
if(change.hasAnyCategory(ChangeCategory.SYSTEM, ChangeCategory.IMPORT)) {
57-
errors.add(new ValidationError(changeCategoryErrorMsg, task.getId(), "change"));
55+
if (!change.isLegacy()) {
56+
errors.add(new ValidationError(INVALID_CHANGE_TYPE_MSG, task.getId(), "change"));
5857
}
5958
} else {
6059
errors.add(new ValidationError("Task in legacy stage must be a ChangeUnit", task.getId(), "change"));

core/flamingock-core/src/main/java/io/flamingock/internal/core/pipeline/loaded/stage/SystemLoadedStage.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@
1616
package io.flamingock.internal.core.pipeline.loaded.stage;
1717

1818

19-
import io.flamingock.api.task.ChangeCategory;
20-
import io.flamingock.internal.common.core.error.validation.ValidationError;
2119
import io.flamingock.api.StageType;
20+
import io.flamingock.internal.common.core.error.validation.ValidationError;
2221
import io.flamingock.internal.core.pipeline.loaded.PipelineValidationContext;
2322
import io.flamingock.internal.core.task.loaded.AbstractLoadedChange;
2423
import io.flamingock.internal.core.task.loaded.AbstractLoadedTask;
@@ -33,6 +32,9 @@
3332
*/
3433
public class SystemLoadedStage extends AbstractLoadedStage {
3534

35+
private static final String INVALID_CHANGE_TYPE_MSG = "Invalid change detected: a non-system change was found while processing a system stage";
36+
37+
3638
private static final StageValidationContext validationContext = StageValidationContext.builder()
3739
.setSorted(UNSORTED)
3840
.build();
@@ -48,15 +50,12 @@ public SystemLoadedStage(String name,
4850
@Override
4951
public List<ValidationError> getValidationErrors(PipelineValidationContext context) {
5052
List<ValidationError> errors = super.getValidationErrors(context);
51-
String changeCategoryErrorMsg = String.format(
52-
"Change in a system stage must have category %s or %s ",
53-
ChangeCategory.SYSTEM, ChangeCategory.IMPORT);
5453

55-
for(AbstractLoadedTask task : getTasks()) {
56-
if(task instanceof AbstractLoadedChange) {
54+
for (AbstractLoadedTask task : getTasks()) {
55+
if (task instanceof AbstractLoadedChange) {
5756
AbstractLoadedChange change = (AbstractLoadedChange) task;
58-
if(!change.hasCategory(ChangeCategory.IMPORT)) {
59-
errors.add(new ValidationError(changeCategoryErrorMsg, task.getId(), "change"));
57+
if (!change.isSystem()) {
58+
errors.add(new ValidationError(INVALID_CHANGE_TYPE_MSG, task.getId(), "change"));
6059
}
6160
} else {
6261
errors.add(new ValidationError("Task in a system stage must of type Change", task.getId(), "change"));

0 commit comments

Comments
 (0)