diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangProperties.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangProperties.java index b0413eb8dacc873c3cdeb3d98ba2ae1532b0302a..6886fd5c92ff3f7a0e3c7ff12c433d76cd4e7d58 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangProperties.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangProperties.java @@ -19,8 +19,7 @@ class VorgangProperties { public static final String PREFIX = "ozgcloud.vorgang"; /** - * Konfiguriert für welche Art von Anträgen der Button zur Erstellung von Bescheiden angezeigt wird. Der Art eines Antrags wird basierend auf form - * id und form engine name bestimmt. + * List of Vorgänge for which notices can be issued. */ private List<VorgangProperty> bescheid = Collections.emptyList(); @@ -29,7 +28,13 @@ class VorgangProperties { @Getter static class VorgangProperty { + /** + * ID of the received formular + */ private String formId; + /** + * Name of the form engine providing the used formular + */ private String formEngineName; } diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java index 763dadcc1fc104b2728193388416e3cc9d130a99..d39f9fdf782a0f534cd3f63d11df212f33e83cae 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java @@ -30,7 +30,6 @@ import java.util.Objects; import java.util.Optional; import java.util.function.Predicate; -import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.Link; @@ -67,9 +66,6 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity static final String USER_PROFILE_SEARCH_DELETED_PARAM = "deleted"; static final String USER_PROFILE_SEARCH_ORGANISATIONS_EINHEIT_ID_PARAM = "organisationsEinheitId"; - private static final Predicate<EingangHeader> HAS_FORM_ID_WITH_ENGINE_NAME = - eingangHeader -> ObjectUtils.allNotNull(eingangHeader.getFormEngineName(), eingangHeader.getFormId()); - @Autowired private PostfachMailController postfachMailController; @Autowired @@ -104,7 +100,7 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity .ifMatch(HAS_REPRESENTATIONS) .addLink(vorgangWithEingang -> linkTo( methodOn(RepresentationController.class).getAllByEingang(vorgangWithEingang.getEingang().getId())) - .withRel(REL_REPRESENTATIONS)) + .withRel(REL_REPRESENTATIONS)) .ifMatch(this::isPostfachConfigured) .addLink(linkTo(methodOn(PostfachMailController.class).getAll(vorgang.getId())).withRel(REL_POSTFACH_MAILS)) .ifMatch(this::isEinheitlicherAnsprechpartner) @@ -148,16 +144,15 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity boolean hasVorgangCreateBescheidEnabled(VorgangWithEingang vorgang) { return ofNullable(vorgang.getEingang()) .map(Eingang::getHeader) - .filter(HAS_FORM_ID_WITH_ENGINE_NAME) .map(this::isCreateBescheidEnabled) .orElse(false); } private boolean isCreateBescheidEnabled(EingangHeader eingangHeader) { - return vorgangProperties.getBescheid().stream().filter(prop -> isFormIdAndFormEngineNameMatching(eingangHeader, prop)).count() > 0; + return vorgangProperties.getBescheid().stream().anyMatch(prop -> isFormIdAndFormEngineNameMatching(eingangHeader, prop)); } - private boolean isFormIdAndFormEngineNameMatching(EingangHeader eingangHeader, VorgangProperty prop) { - return prop.getFormId().equals(eingangHeader.getFormId()) && prop.getFormEngineName().equals(eingangHeader.getFormEngineName()); + private boolean isFormIdAndFormEngineNameMatching(EingangHeader eingangHeader, VorgangProperty property) { + return property.getFormId().equals(eingangHeader.getFormId()) && property.getFormEngineName().equals(eingangHeader.getFormEngineName()); } } \ No newline at end of file