diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java index a39073c1c3ded6d7e875c02f65a32c6cad9ba7d3..67cb22c470130c5e04079b40a61182c98aed13a8 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java @@ -51,12 +51,12 @@ public class LinkedResourceProcessor<T> implements RepresentationModelProcessor< @Override public EntityModel<T> process(EntityModel<T> model) { - addResourceLinksIfMissing(model); - addUserProfileLinksIfMissing(model); + addResourceLinks(model); + addUserProfileLinks(model); return model; } - void addResourceLinksIfMissing(EntityModel<T> model) { + void addResourceLinks(EntityModel<T> model) { getAnnotatedFields(LinkedResource.class, model.getContent()) .filter(field -> shouldAddLink(model, field)) .forEach(field -> addLinkForLinkedResourceField(model, field)); @@ -69,10 +69,10 @@ public class LinkedResourceProcessor<T> implements RepresentationModelProcessor< .withRel(getResourceName(field)))); } - void addUserProfileLinksIfMissing(EntityModel<T> resource) { - getAnnotatedFields(LinkedUserProfileResource.class, resource.getContent()) - .filter(field -> shouldAddLink(resource, field)) - .forEach(field -> addLinkForLinkedUserProfileResourceField(resource, field)); + void addUserProfileLinks(EntityModel<T> model) { + getAnnotatedFields(LinkedUserProfileResource.class, model.getContent()) + .filter(field -> shouldAddLink(model, field)) + .forEach(field -> addLinkForLinkedUserProfileResourceField(model, field)); } Stream<Field> getAnnotatedFields(Class<? extends Annotation> annotationClass, T content) { @@ -83,9 +83,9 @@ public class LinkedResourceProcessor<T> implements RepresentationModelProcessor< .filter(field -> field.isAnnotationPresent(annotationClass)); } - boolean shouldAddLink(EntityModel<T> resource, Field field) { + boolean shouldAddLink(EntityModel<T> model, Field field) { return !(field.getType().isArray() || Collection.class.isAssignableFrom(field.getType()) - || resource.hasLink(getResourceName(field))); + || model.hasLink(getResourceName(field))); } void addLinkForLinkedUserProfileResourceField(EntityModel<T> model, Field field) { diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/common/LinkedResourceProcessorTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/common/LinkedResourceProcessorTest.java index b0a5df53373a897846bd5e8ff84ab202b8a6d6d9..b640df8181abcbc8439d5aee450b60cdf9f428a6 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/common/LinkedResourceProcessorTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/common/LinkedResourceProcessorTest.java @@ -66,8 +66,8 @@ class LinkedResourceProcessorTest { @BeforeEach void mock() { - doNothing().when(processor).addResourceLinksIfMissing(any()); - doNothing().when(processor).addUserProfileLinksIfMissing(any()); + doNothing().when(processor).addResourceLinks(any()); + doNothing().when(processor).addUserProfileLinks(any()); } @Test @@ -78,22 +78,22 @@ class LinkedResourceProcessorTest { } @Test - void shouldCallAddResourceLinksIfMissing() { + void shouldCallAddResourceLinks() { processor.process(model); - verify(processor).addResourceLinksIfMissing(model); + verify(processor).addResourceLinks(model); } @Test - void shouldCallAddUserProfileLinksIfMissing() { + void shouldCallAddUserProfileLinks() { processor.process(model); - verify(processor).addUserProfileLinksIfMissing(model); + verify(processor).addUserProfileLinks(model); } } @Nested - class TestAddResourceLinksIfMissing { + class TestAddResourceLinks { private final TestEntity entity = TestEntityTestFactory.create(); private final EntityModel<TestEntity> model = EntityModel.of(entity); @@ -110,7 +110,7 @@ class LinkedResourceProcessorTest { void shouldGetAnnotatedFieldsWithLinkedResourceAnnotation() { doReturn(false).when(processor).shouldAddLink(any(), any()); - processor.addResourceLinksIfMissing(model); + processor.addResourceLinks(model); verify(processor).getAnnotatedFields(LinkedResource.class, entity); } @@ -119,7 +119,7 @@ class LinkedResourceProcessorTest { void shouldCallShouldAddLink() { doReturn(false).when(processor).shouldAddLink(any(), any()); - processor.addResourceLinksIfMissing(model); + processor.addResourceLinks(model); verify(processor).shouldAddLink(model, field); } @@ -128,7 +128,7 @@ class LinkedResourceProcessorTest { void shouldCallAddLinkForLinkedResourceField() { doReturn(true).when(processor).shouldAddLink(any(), any()); - processor.addResourceLinksIfMissing(model); + processor.addResourceLinks(model); verify(processor).addLinkForLinkedResourceField(model, field); } @@ -137,14 +137,14 @@ class LinkedResourceProcessorTest { void shouldNotCallAddLinkForLinkedResourceField() { doReturn(false).when(processor).shouldAddLink(any(), any()); - processor.addResourceLinksIfMissing(model); + processor.addResourceLinks(model); verify(processor, never()).addLinkForLinkedResourceField(any(), any()); } } @Nested - class TestAddUserProfileLinksIfMissing { + class TestAddUserProfileLinks { private final TestEntity entity = TestEntityTestFactory.create(); private final EntityModel<TestEntity> model = EntityModel.of(entity); @@ -161,7 +161,7 @@ class LinkedResourceProcessorTest { void shouldGetAnnotatedFieldsWithLinkedUserProfileResourceAnnotation() { doReturn(false).when(processor).shouldAddLink(any(), any()); - processor.addUserProfileLinksIfMissing(model); + processor.addUserProfileLinks(model); verify(processor).getAnnotatedFields(LinkedUserProfileResource.class, entity); } @@ -170,7 +170,7 @@ class LinkedResourceProcessorTest { void shouldCallShouldAddLink() { doReturn(false).when(processor).shouldAddLink(any(), any()); - processor.addUserProfileLinksIfMissing(model); + processor.addUserProfileLinks(model); verify(processor).shouldAddLink(model, field); } @@ -179,7 +179,7 @@ class LinkedResourceProcessorTest { void shouldCallAddLinkForLinkedUserProfileResourceField() { doReturn(true).when(processor).shouldAddLink(any(), any()); - processor.addUserProfileLinksIfMissing(model); + processor.addUserProfileLinks(model); verify(processor).addLinkForLinkedUserProfileResourceField(model, field); } @@ -188,7 +188,7 @@ class LinkedResourceProcessorTest { void shouldNotCallAddLinkForLinkedUserProfileResourceField() { doReturn(false).when(processor).shouldAddLink(any(), any()); - processor.addUserProfileLinksIfMissing(model); + processor.addUserProfileLinks(model); verify(processor, never()).addLinkForLinkedUserProfileResourceField(any(), any()); }