From 818d2e9a412e953e3b6cffc90819d79300861d67 Mon Sep 17 00:00:00 2001
From: Felix Reichenbach <felix.reichenbach@mgm-tp.com>
Date: Mon, 27 Jan 2025 10:19:33 +0100
Subject: [PATCH] OZG-7515 refactor
 M014_AddItemNameBescheidToPatchAttachedItemCommand

---
 ...mNameBescheidToPatchAttachedItemCommand.java | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

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 b119d8f18..c7d218ef9 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
-- 
GitLab