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 7f8c5f2a502d007523f52b2ad448f9e9d03a68d8..c8bcf63ca69e7d204383770939c612c507da9b52 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 6da01de993d326ec92b84324664a24dbe2c53515..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..faaaf937147d99f4266113d056b552b73f2d71f7 --- /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 3e48c4c3e70a8dcc1395689d50c0bc4d417858f3..e397477c5a00ecddf8fa6375689dc3bdde005328 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 beb1a0afd483ca222d47a18a439db1ca42aaf6c1..aeb750972035371e7d54c6215a0f6a208d40bbb4 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 75958f28f14ba1b5cef8325fcbd9f62c58f28dce..27cbe18a6604dfeac9b613cbae4c45e89b2107a3 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 4fa5b81668fc393bb18e390b545348690c95061f..847a33e1447d93e7bcd01e3f56dc503c490018ad 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 b7d90516cef3279cdeaaaea8e1577d858c097af8..66847f0bcc42b2b0b9ebf8d1d59bc491fd7282ee 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 0000000000000000000000000000000000000000..de4d4ee3434c7ed9736f1b11f62ec1d72c969473 --- /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