From a85af3a80275b0740a5bb5ff1ae963fdbf2f0497 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 8 Nov 2023 13:56:57 +0100 Subject: [PATCH] OZG-4461 rename executeProcessor -> processVorgang; extract processor properties to own file --- .../ozgcloud/alfa/EnvironmentController.java | 4 +-- .../ManualTriggeredProcessorProperties.java | 31 ------------------- .../alfa/VorgangProcessorProperties.java | 31 +++++++++++++++++++ .../alfa/common/command/CommandOrder.java | 2 +- .../vorgang/VorgangWithEingangProzessor.java | 14 ++++----- .../alfa/EnvironmentControllerTest.java | 4 +-- .../command/CommandModelAssemblerTest.java | 2 +- .../VorgangWithEingangProzessorTest.java | 16 +++++----- .../src/main/resources/application-nf.yaml | 4 +++ 9 files changed, 56 insertions(+), 52 deletions(-) delete mode 100644 alfa-service/src/main/java/de/ozgcloud/alfa/ManualTriggeredProcessorProperties.java create mode 100644 alfa-service/src/main/java/de/ozgcloud/alfa/VorgangProcessorProperties.java create mode 100644 goofy-server/src/main/resources/application-nf.yaml diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java b/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java index 7f8c5f2a50..c8bcf63ca6 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java @@ -43,7 +43,7 @@ public class EnvironmentController { private GoofyProperties goofyProperties; @Autowired - private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties; + private VorgangProcessorProperties vorgangProcessorProperties; @GetMapping public FrontendEnvironment getFrontendEnvironment() { @@ -53,7 +53,7 @@ public class EnvironmentController { .authServer(oAuth2Properties.getAuthServerUrl()) .clientId(oAuth2Properties.getResource()) .realm(oAuth2Properties.getRealm()) - .processorNames(manualTriggeredProcessorProperties.getAnalogButtonProcessorNames()) + .processorNames(vorgangProcessorProperties.getProcessorNames()) .build(); } } \ No newline at end of file diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/ManualTriggeredProcessorProperties.java b/alfa-service/src/main/java/de/ozgcloud/alfa/ManualTriggeredProcessorProperties.java deleted file mode 100644 index 6da01de993..0000000000 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/ManualTriggeredProcessorProperties.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.ozgcloud.alfa; - -import java.util.Collections; -import java.util.List; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import de.ozgcloud.alfa.vorgang.VorgangProperties.VorgangProperty; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -@Configuration -@ConfigurationProperties(prefix = ManualTriggeredProcessorProperties.PREFIX) -public class ManualTriggeredProcessorProperties { - - static final String PREFIX = "ozgcloud.vorgang"; - - /** - * Matching conditions of manual triggerable vorgang processing based on vorgang#formId and vorgang#formEngineName. - */ - private List<VorgangProperty> analogButtonProcessor = Collections.emptyList(); - - /** - * Names of processor used after triggered vorgang processing. - */ - private List<String> analogButtonProcessorNames = Collections.emptyList(); - -} diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/VorgangProcessorProperties.java b/alfa-service/src/main/java/de/ozgcloud/alfa/VorgangProcessorProperties.java new file mode 100644 index 0000000000..faaaf93714 --- /dev/null +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/VorgangProcessorProperties.java @@ -0,0 +1,31 @@ +package de.ozgcloud.alfa; + +import java.util.Collections; +import java.util.List; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import de.ozgcloud.alfa.vorgang.VorgangProperties.VorgangProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Configuration +@ConfigurationProperties(prefix = VorgangProcessorProperties.PREFIX) +public class VorgangProcessorProperties { + + static final String PREFIX = "ozgcloud.vorgang"; + + /** + * Matching condition for processing based on vorgang#formId and vorgang#formEngineName. + */ + private List<VorgangProperty> processor = Collections.emptyList(); + + /** + * Name of used processor. + */ + private List<String> processorNames = Collections.emptyList(); + +} diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandOrder.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandOrder.java index 3e48c4c3e7..e397477c5a 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandOrder.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandOrder.java @@ -71,7 +71,7 @@ public enum CommandOrder { CREATE_BESCHEID(false, Type.VORGANG), - EXECUTE_PROCESSOR(false, Type.VORGANG); + PROCESS_VORGANG(false, Type.VORGANG); enum Type { VORGANG, VORGANG_LIST, WIEDERVORLAGE, KOMMENTAR, FORWARDING, POSTFACH 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 beb1a0afd4..aeb7509720 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 @@ -39,7 +39,7 @@ import org.springframework.hateoas.LinkRelation; import org.springframework.hateoas.server.RepresentationModelProcessor; import org.springframework.stereotype.Component; -import de.ozgcloud.alfa.ManualTriggeredProcessorProperties; +import de.ozgcloud.alfa.VorgangProcessorProperties; import de.ozgcloud.alfa.attachment.AttachmentController; import de.ozgcloud.alfa.common.FeatureToggleProperties; import de.ozgcloud.alfa.common.ModelBuilder; @@ -64,7 +64,7 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity static final LinkRelation REL_VORGANG_FORWARDING = LinkRelation.of("forwarding"); static final LinkRelation REL_HISTORIE = LinkRelation.of("historie"); static final LinkRelation REL_BESCHEID = LinkRelation.of("createBescheid"); - static final LinkRelation REL_EXECUTE_PROCESSOR = LinkRelation.of("executeProcessor"); + static final LinkRelation REL_PROCESS_VORGANG = LinkRelation.of("processVorgang"); static final String REL_SEARCH_USER = "search-user-profiles"; static final String USER_PROFILE_SEARCH_DELETED_PARAM = "deleted"; @@ -85,7 +85,7 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity @Autowired private VorgangProperties vorgangProperties; @Autowired - private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties; + private VorgangProcessorProperties vorgangProcessorProperties; private static final Predicate<VorgangWithEingang> HAS_ATTACHMENTS = vorgangWithEingang -> vorgangWithEingang.getEingang() .getNumberOfAttachments() > 0; @@ -120,9 +120,9 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity .ifMatch(() -> isCreateBescheidEnabled(vorgang)) .addLink(linkTo(methodOn(CommandByRelationController.class).createCommand(vorgang.getId(), vorgang.getId(), vorgang.getVersion(), null)).withRel(REL_BESCHEID)) - .ifMatch(this::showAnalogProcessorButton) + .ifMatch(this::isProcessable) .addLink(() -> linkTo(methodOn(CommandByRelationController.class).createCommand(vorgang.getId(), vorgang.getId(), vorgang.getVersion(), - null)).withRel(REL_EXECUTE_PROCESSOR)) + null)).withRel(REL_PROCESS_VORGANG)) .buildModel(); } @@ -165,8 +165,8 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity return isAnyFormIdAndFormEngineNameMatching(eingangHeader, vorgangProperties.getBescheid()); } - private boolean showAnalogProcessorButton(VorgangWithEingang vorgang) { - return isAnyFormIdAndFormEngineNameMatching(vorgang.getEingang().getHeader(), manualTriggeredProcessorProperties.getAnalogButtonProcessor()); + private boolean isProcessable(VorgangWithEingang vorgang) { + return isAnyFormIdAndFormEngineNameMatching(vorgang.getEingang().getHeader(), vorgangProcessorProperties.getProcessor()); } private boolean isAnyFormIdAndFormEngineNameMatching(EingangHeader eingangHeader, List<VorgangProperty> properties) { diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java index 75958f28f1..27cbe18a66 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java @@ -48,7 +48,7 @@ class EnvironmentControllerTest { @Mock private GoofyProperties goofyProperties; @Mock - private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties; + private VorgangProcessorProperties vorgangProcessorProperties; private MockMvc mockMvc; @@ -90,7 +90,7 @@ class EnvironmentControllerTest { @Test void shouldHaveProcessorNames() { var processorName = "dummyProcessorName"; - when(manualTriggeredProcessorProperties.getAnalogButtonProcessorNames()).thenReturn(List.of(processorName)); + when(vorgangProcessorProperties.getProcessorNames()).thenReturn(List.of(processorName)); var response = doRequest(); diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandModelAssemblerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandModelAssemblerTest.java index 4fa5b81668..847a33e144 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandModelAssemblerTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandModelAssemblerTest.java @@ -184,7 +184,7 @@ class CommandModelAssemblerTest { "WIEDERVORLAGE_WIEDEREROEFFNEN", "CREATE_KOMMENTAR", "EDIT_KOMMENTAR", "REDIRECT_VORGANG", "FORWARD_SUCCESSFULL", "FORWARD_FAILED", "ASSIGN_USER", "SEND_POSTFACH_MAIL", "SEND_POSTFACH_NACHRICHT", "RESEND_POSTFACH_MAIL", "CREATE_ATTACHED_ITEM", "UPDATE_ATTACHED_ITEM", "PATCH_ATTACHED_ITEM", "RECEIVE_POSTFACH_NACHRICHT", "VORGANG_LOESCHEN", "DELETE_ATTACHED_ITEM", - "VORGANG_ZUM_LOESCHEN_MARKIEREN", "LOESCH_ANFORDERUNG_ZURUECKNEHMEN", "CREATE_BESCHEID", "EXECUTE_PROCESSOR" }) + "VORGANG_ZUM_LOESCHEN_MARKIEREN", "LOESCH_ANFORDERUNG_ZURUECKNEHMEN", "CREATE_BESCHEID", "PROCESS_VORGANG" }) void shouldBePresentOnOrder(CommandOrder order) { var model = toModelWithOrder(order); diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java index b7d90516ce..66847f0bcc 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java @@ -44,7 +44,7 @@ import org.springframework.hateoas.Link; import org.springframework.hateoas.LinkRelation; import org.springframework.web.util.UriComponentsBuilder; -import de.ozgcloud.alfa.ManualTriggeredProcessorProperties; +import de.ozgcloud.alfa.VorgangProcessorProperties; import de.ozgcloud.alfa.common.FeatureToggleProperties; import de.ozgcloud.alfa.common.UserProfileUrlProvider; import de.ozgcloud.alfa.common.user.CurrentUserService; @@ -72,7 +72,7 @@ class VorgangWithEingangProzessorTest { private VorgangProperties vorgangProperties; @Mock - private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties; + private VorgangProcessorProperties vorgangProcessorProperties; private UserProfileUrlProvider urlProvider = new UserProfileUrlProvider(); @@ -526,7 +526,7 @@ class VorgangWithEingangProzessorTest { @BeforeEach void init() { - when(manualTriggeredProcessorProperties.getAnalogButtonProcessor()).thenReturn(List.of(VorgangPropertyTestFactory.create())); + when(vorgangProcessorProperties.getProcessor()).thenReturn(List.of(VorgangPropertyTestFactory.create())); } @Test @@ -534,7 +534,7 @@ class VorgangWithEingangProzessorTest { var processed = processor.process(vorgangEntityModel); var expectedLink = String.format("/api/vorgangs/%s/relations/%s/%s/commands", VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_EXECUTE_PROCESSOR)) + assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)) .isPresent().get().extracting(Link::getHref).isEqualTo(expectedLink); } } @@ -546,21 +546,21 @@ class VorgangWithEingangProzessorTest { @Test void shouldNotBeVisibleOnWrongFormId() { var properties = List.of(VorgangPropertyTestFactory.createBuilder().formId("quatsch").build()); - when(manualTriggeredProcessorProperties.getAnalogButtonProcessor()).thenReturn(properties); + when(vorgangProcessorProperties.getProcessor()).thenReturn(properties); var processed = processor.process(vorgangEntityModel); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_EXECUTE_PROCESSOR)).isNotPresent(); + assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent(); } @Test void shouldNotBeVisibleOnWrongFormEngineName() { var properties = List.of(VorgangPropertyTestFactory.createBuilder().formEngineName("quatsch").build()); - when(manualTriggeredProcessorProperties.getAnalogButtonProcessor()).thenReturn(properties); + when(vorgangProcessorProperties.getProcessor()).thenReturn(properties); var processed = processor.process(vorgangEntityModel); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_EXECUTE_PROCESSOR)).isNotPresent(); + assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent(); } } } diff --git a/goofy-server/src/main/resources/application-nf.yaml b/goofy-server/src/main/resources/application-nf.yaml new file mode 100644 index 0000000000..de4d4ee343 --- /dev/null +++ b/goofy-server/src/main/resources/application-nf.yaml @@ -0,0 +1,4 @@ +ozgcloud: + vorgang: + processorNames: + - ticketCheck \ No newline at end of file -- GitLab