From 17669612e79f16181180335eb460fbd03b4b06bb Mon Sep 17 00:00:00 2001
From: Martin <git@mail.de>
Date: Thu, 3 Apr 2025 16:28:48 +0200
Subject: [PATCH] OZG-7872 revert switch case

---
 .../common/command/CommandModelAssembler.java | 39 +++++++------------
 1 file changed, 14 insertions(+), 25 deletions(-)

diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandModelAssembler.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandModelAssembler.java
index eb69a13aeb..74c0bcb2df 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandModelAssembler.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandModelAssembler.java
@@ -34,6 +34,7 @@ import org.springframework.hateoas.EntityModel;
 import org.springframework.hateoas.Link;
 import org.springframework.hateoas.LinkRelation;
 import org.springframework.hateoas.server.RepresentationModelAssembler;
+import org.springframework.hateoas.server.mvc.WebMvcLinkBuilder;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.alfa.bescheid.BescheidController;
@@ -86,31 +87,19 @@ class CommandModelAssembler implements RepresentationModelAssembler<Command, Ent
 	Link effectedResourceLinkByOrderType(Command entity) {
 		var type = entity.getCommandOrder().getType();
 
-		if (type == CommandOrder.Type.FORWARDING) {
-			return linkTo(methodOn(ForwardingController.class).findByVorgangId(entity.getVorgangId())).withRel(REL_EFFECTED_RESOURCE);
-		}
-		if (type == CommandOrder.Type.KOMMENTAR) {
-			return linkTo(KommentarController.class).slash(entity.getRelationId()).withRel(REL_EFFECTED_RESOURCE);
-		}
-		if (type == CommandOrder.Type.VORGANG) {
-			return linkTo(VorgangController.class).slash(entity.getRelationId()).withRel(REL_EFFECTED_RESOURCE);
-		}
-		if (type == CommandOrder.Type.VORGANG_LIST) {
-			return linkTo(VorgangController.class).withRel(REL_EFFECTED_RESOURCE);
-		}
-		if (type == CommandOrder.Type.WIEDERVORLAGE) {
-			return linkTo(WiedervorlageController.class).slash(entity.getRelationId()).withRel(REL_EFFECTED_RESOURCE);
-		}
-		if (type == CommandOrder.Type.BESCHEID) {
-			return linkTo(methodOn(BescheidController.class).getDraft(entity.getVorgangId())).withRel(REL_EFFECTED_RESOURCE);
-		}
-		if (type == CommandOrder.Type.DOCUMENT) {
-			return linkTo(DocumentController.class).slash(entity.getCreatedResource()).withRel(REL_EFFECTED_RESOURCE);
-		}
-		if (type == CommandOrder.Type.COLLABORATION) {
-			return linkTo(methodOn(CollaborationByVorgangController.class).getAllByVorgangId(entity.getVorgangId())).withRel(REL_EFFECTED_RESOURCE);
-		}
-		throw new IllegalArgumentException("Unknown CommandOrder: " + entity.getOrder());
+		WebMvcLinkBuilder linkBuilder = switch (type) {
+			case FORWARDING -> linkTo(methodOn(ForwardingController.class).findByVorgangId(entity.getVorgangId()));
+			case KOMMENTAR -> linkTo(KommentarController.class).slash(entity.getRelationId());
+			case VORGANG -> linkTo(VorgangController.class).slash(entity.getRelationId());
+			case VORGANG_LIST -> linkTo(VorgangController.class);
+			case WIEDERVORLAGE -> linkTo(WiedervorlageController.class).slash(entity.getRelationId());
+			case BESCHEID -> linkTo(methodOn(BescheidController.class).getDraft(entity.getVorgangId()));
+			case DOCUMENT -> linkTo(DocumentController.class).slash(entity.getCreatedResource());
+			case COLLABORATION -> linkTo(methodOn(CollaborationByVorgangController.class).getAllByVorgangId(entity.getVorgangId()));
+			default -> throw new IllegalArgumentException("Unknown CommandOrder: " + entity.getOrder());
+		};
+
+		return linkBuilder.withRel(REL_EFFECTED_RESOURCE);
 	}
 
 	public CollectionModel<EntityModel<Command>> toCollectionModel(Stream<Command> entities) {
-- 
GitLab