diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/common/migration/M014_AddItemNameBescheidToPatchAttachedItemCommand.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/common/migration/M014_AddItemNameBescheidToPatchAttachedItemCommand.java index b119d8f189a676fd474dac70f2259b01ab4309f8..c7d218ef93b2be1b47c17cdc118ffd921dc36e6a 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/common/migration/M014_AddItemNameBescheidToPatchAttachedItemCommand.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/common/migration/M014_AddItemNameBescheidToPatchAttachedItemCommand.java @@ -39,6 +39,7 @@ import io.mongock.api.annotations.RollbackExecution; @ChangeUnit(id = "2025-01-17 16:00:00 OZG-7515", order = "M014", author = "freichenbach", runAlways = true) public class M014_AddItemNameBescheidToPatchAttachedItemCommand { // NOSONAR + private static final String ID_FIELD = "_id"; private static final String COMMAND_COLLECTION_NAME = "command"; private static final String ORDER_FIELD = "order"; private static final String SEND_BESCHEID_ORDER = "SEND_BESCHEID"; @@ -53,19 +54,23 @@ public class M014_AddItemNameBescheidToPatchAttachedItemCommand { // NOSONAR updateDocuments(mongoOperations, parentIds); } - List<String> getSendBescheidCommandIds(MongoOperations mongoOperations) { + List<ObjectId> getSendBescheidCommandIds(MongoOperations mongoOperations) { var commands = mongoOperations.find(Query.query(Criteria.where(ORDER_FIELD).is(SEND_BESCHEID_ORDER)), Document.class, COMMAND_COLLECTION_NAME); - return commands.stream().map(command -> command.getObjectId("_id")).map(ObjectId::toString).toList(); + return commands.stream().map(command -> command.getObjectId(ID_FIELD)).toList(); } - private void updateDocuments(MongoOperations mongoOperations, List<String> parentIds) { - var query = new Query().addCriteria(new Criteria().andOperator( + void updateDocuments(MongoOperations mongoOperations, List<ObjectId> parentIds) { + var query = buildQuery(parentIds); + var update = new Update().set(ITEM_NAME_FILED, BESCHEID_ITEM_NAME); + mongoOperations.updateMulti(query, update, COMMAND_COLLECTION_NAME); + } + + Query buildQuery(List<ObjectId> parentIds) { + return new Query().addCriteria(new Criteria().andOperator( Criteria.where(PARENT_ID_FIELD).in(parentIds), Criteria.where(ORDER_FIELD).is(PATCH_ATTACHED_ITEM_ORDER), Criteria.where(ITEM_NAME_FILED).exists(false))); - var update = new Update().set(ITEM_NAME_FILED, BESCHEID_ITEM_NAME); - mongoOperations.updateMulti(query, update, COMMAND_COLLECTION_NAME); } @RollbackExecution