Skip to content

Commit 40db5e1

Browse files
authored
fix: change sorting when order in filename (#387)
1 parent 611bdba commit 40db5e1

File tree

6 files changed

+7
-32
lines changed

6 files changed

+7
-32
lines changed

community/flamingock-auditstore-dynamodb/src/test/java/io/flamingock/community/dynamodb/changes/audit/NonTxTargetSystemChange.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* Uses custom target system for testing targetSystemId persistence.
2626
*/
2727
@TargetSystem(id = "non-tx-system")
28-
@Change(id = "non-tx-target-system", order = "002", author = "test-author")
28+
@Change(id = "non-tx-target-system", order = "003", author = "test-author")
2929
public class NonTxTargetSystemChange {
3030

3131
@Apply

community/flamingock-auditstore-dynamodb/src/test/java/io/flamingock/community/dynamodb/changes/audit/TxSharedDefaultChange.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* Uses transactional execution with default audit storage DynamoDB client.
2727
*/
2828
@TargetSystem(id = "dynamodb")
29-
@Change(id = "tx-shared-default", order = "003", author = "test-author")
29+
@Change(id = "tx-shared-default", order = "002", author = "test-author")
3030
public class TxSharedDefaultChange {
3131

3232
@Apply

community/flamingock-auditstore-mongodb-sync/src/test/java/io/flamingock/community/mongodb/sync/changes/audit/NonTxTargetSystemChange.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* Used for testing audit persistence of NON_TX transaction type with custom target system.
2525
*/
2626
@TargetSystem(id = "non-tx-system")
27-
@Change(id = "non-tx-target-system", order = "002", author = "aperezdieppa")
27+
@Change(id = "non-tx-target-system", order = "003", author = "aperezdieppa")
2828
public class NonTxTargetSystemChange {
2929

3030
@Apply

community/flamingock-auditstore-mongodb-sync/src/test/java/io/flamingock/community/mongodb/sync/changes/audit/TxSharedDefaultChange.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* Used for testing audit persistence of TX_SHARED transaction type.
2424
*/
2525
@TargetSystem(id = "mongodb")
26-
@Change(id = "tx-shared-default", order = "003", transactional = true, author = "aperezdieppa")
26+
@Change(id = "tx-shared-default", order = "002", transactional = true, author = "aperezdieppa")
2727
public class TxSharedDefaultChange {
2828

2929
@Apply

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

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,8 @@ public T build() {
334334
}
335335

336336
Collection<AbstractPreviewTask> templatedTasksDescriptors = getTemplatedTaskDescriptors(resourcesDirectories);
337-
Collection<AbstractPreviewTask> allDescriptors = mergeDescriptors(templatedTasksDescriptors, changeUnitClassesList);
337+
Collection<AbstractPreviewTask> allDescriptors = Stream.concat(templatedTasksDescriptors.stream(), changeUnitClassesList.stream())
338+
.collect(Collectors.toList());
338339

339340

340341
return buildInstance(name, description, sourcesPackage, resourcesDir, allDescriptors);
@@ -347,33 +348,6 @@ abstract protected T buildInstance(String name,
347348
String resourcesDir,
348349
Collection<AbstractPreviewTask> allDescriptors);
349350

350-
/**
351-
* Merges and returns a single collection of task descriptors from both templated files and provided classes.
352-
* Ensures all tasks are consistently ordered if applicable.
353-
*
354-
* @param templatedDescriptors tasks parsed from YAML files
355-
* @param descriptorsFromClasses tasks provided directly
356-
* @return merged collection of {@link AbstractPreviewTask}
357-
* @throws IllegalArgumentException if only some tasks are sortable
358-
*/
359-
private Collection<AbstractPreviewTask> mergeDescriptors(Collection<? extends AbstractPreviewTask> templatedDescriptors,
360-
Collection<? extends AbstractPreviewTask> descriptorsFromClasses) {
361-
362-
Collection<AbstractPreviewTask> descriptors = Stream
363-
.concat(templatedDescriptors.stream(), descriptorsFromClasses.stream())
364-
.collect(Collectors.toList());
365-
366-
if (descriptors.stream().allMatch(AbstractPreviewTask::isSortable)) {
367-
return descriptors.stream().sorted().collect(Collectors.toList());
368-
369-
} else if (descriptors.parallelStream().anyMatch(AbstractPreviewTask::isSortable)) {
370-
throw new IllegalArgumentException("Either all tasks are ordered or none is");
371-
372-
} else {
373-
return descriptors;
374-
}
375-
}
376-
377351
/**
378352
* Parses and builds templated {@link AbstractPreviewTask} descriptors from YAML files located in the given directories.
379353
*

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ public AbstractLoadedStage build() {
193193
List<AbstractLoadedTask> loadedTasks = previewStage.getTasks()
194194
.stream()
195195
.map(LoadedTaskBuilder::build)
196+
.sorted()
196197
.collect(Collectors.toList());
197198
switch(previewStage.getType()) {
198199
case LEGACY:

0 commit comments

Comments
 (0)