Skip to content
Snippets Groups Projects
Commit 57ec0b9d authored by Tobias Bruns's avatar Tobias Bruns
Browse files

Merge branch 'OZG-7669_formengine_uebertragen' into 'main'

OZG-7669 filter processors if called by name

See merge request !1
parents cdaee052 fd7aa15e
No related branches found
No related tags found
1 merge request!1OZG-7669 filter processors if called by name
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<parent> <parent>
<groupId>de.ozgcloud.common</groupId> <groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId> <artifactId>ozgcloud-common-parent</artifactId>
<version>4.5.0</version> <version>4.9.0</version>
</parent> </parent>
<groupId>de.ozgcloud.processor</groupId> <groupId>de.ozgcloud.processor</groupId>
...@@ -47,7 +47,10 @@ ...@@ -47,7 +47,10 @@
<api-lib.version>0.13.0</api-lib.version> <api-lib.version>0.13.0</api-lib.version>
<tyrus-standalone-client.version>2.2.0</tyrus-standalone-client.version> <tyrus-standalone-client.version>2.2.0</tyrus-standalone-client.version>
<okio.version>3.9.1</okio.version> <okio.version>3.9.1</okio.version>
<okhttp.version>4.12.0</okhttp.version>
</properties> </properties>
<dependencies> <dependencies>
<!-- OZG-Cloud --> <!-- OZG-Cloud -->
<dependency> <dependency>
...@@ -108,11 +111,13 @@ ...@@ -108,11 +111,13 @@
<dependency> <dependency>
<groupId>com.squareup.okhttp3</groupId> <groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId> <artifactId>okhttp</artifactId>
<version>${okhttp.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.squareup.okhttp3</groupId> <groupId>com.squareup.okhttp3</groupId>
<artifactId>mockwebserver</artifactId> <artifactId>mockwebserver</artifactId>
<version>${okhttp.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
...@@ -124,7 +129,6 @@ ...@@ -124,7 +129,6 @@
<dependency> <dependency>
<groupId>io.grpc</groupId> <groupId>io.grpc</groupId>
<artifactId>grpc-inprocess</artifactId> <artifactId>grpc-inprocess</artifactId>
<version>1.65.0</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
......
package de.ozgcloud.processor.processor;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Component
@RequiredArgsConstructor
class ProcessorLogRunner implements ApplicationListener<ContextRefreshedEvent> {
private final ProcessorProperties properties;
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
LOG.info("Processors configured: " + properties);
}
}
...@@ -55,6 +55,7 @@ class ProcessorProperties { ...@@ -55,6 +55,7 @@ class ProcessorProperties {
@Singular @Singular
private List<Processor> processors; private List<Processor> processors;
@ToString
@Getter @Getter
@Setter @Setter
@Builder @Builder
...@@ -82,6 +83,7 @@ class ProcessorProperties { ...@@ -82,6 +83,7 @@ class ProcessorProperties {
private String address; private String address;
} }
@ToString
@Getter @Getter
@Setter @Setter
@Builder @Builder
......
...@@ -26,6 +26,7 @@ package de.ozgcloud.processor.processor; ...@@ -26,6 +26,7 @@ package de.ozgcloud.processor.processor;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Optional; import java.util.Optional;
import java.util.Set;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -78,7 +79,14 @@ public class ProcessorService { ...@@ -78,7 +79,14 @@ public class ProcessorService {
} }
public Stream<Mono<ProcessorResult>> processVorgang(Vorgang vorgang, Collection<String> processorNames) { public Stream<Mono<ProcessorResult>> processVorgang(Vorgang vorgang, Collection<String> processorNames) {
return getProcessors(processorNames).map(processor -> callProcessor(processor, vorgang)); return getProcessors(processorNames)
.filter(processor -> containsMatchingForm(vorgang, processor.getForms()))
.map(processor -> callProcessor(processor, vorgang));
}
private boolean containsMatchingForm(Vorgang vorgang, Set<Form> forms) {
return forms.stream().anyMatch(form -> StringUtils.equals(vorgang.getFormEngineName(), form.getFormEngineName())
&& StringUtils.equals(vorgang.getFormId(), form.getFormId()));
} }
Stream<Processor> getProcessors(Collection<String> processorNames) { Stream<Processor> getProcessors(Collection<String> processorNames) {
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
*/ */
package de.ozgcloud.processor.vorgang; package de.ozgcloud.processor.vorgang;
import com.fasterxml.jackson.annotation.JsonProperty;
import de.ozgcloud.common.binaryfile.FileId; import de.ozgcloud.common.binaryfile.FileId;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
...@@ -36,4 +38,9 @@ public class FileMetaData { ...@@ -36,4 +38,9 @@ public class FileMetaData {
private String name; private String name;
private String contentType; private String contentType;
private long size; private long size;
@JsonProperty("id")
String getId() {
return id.toString();
}
} }
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
*/ */
package de.ozgcloud.processor.vorgang; package de.ozgcloud.processor.vorgang;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access; import com.fasterxml.jackson.annotation.JsonProperty.Access;
...@@ -39,9 +38,9 @@ public class Vorgang { ...@@ -39,9 +38,9 @@ public class Vorgang {
private long version; private long version;
private String vorgangName; private String vorgangName;
private String vorgangNummer; private String vorgangNummer;
private String formId;
@JsonIgnore
private String formEngineName; private String formEngineName;
private String formId;
private Eingang eingang; private Eingang eingang;
......
...@@ -127,6 +127,24 @@ class ProcessorServiceTest { ...@@ -127,6 +127,24 @@ class ProcessorServiceTest {
verify(service).callProcessor(any(), any()); verify(service).callProcessor(any(), any());
} }
@Test
void shouldNotCallProcessorForWrongFormEngine() {
doReturn(Stream.of(processor)).when(service).getProcessors(anyCollection());
service.processVorgang(VorgangTestFactory.createBuilder().formEngineName("wrong").build(), processorNames).toList();
verify(service, never()).callProcessor(any(), any());
}
@Test
void shouldNotCallProcessorForWrongFormId() {
doReturn(Stream.of(processor)).when(service).getProcessors(anyCollection());
service.processVorgang(VorgangTestFactory.createBuilder().formId("wrong").build(), processorNames).toList();
verify(service, never()).callProcessor(any(), any());
}
@Test @Test
void shouldReturnProcessorResult() { void shouldReturnProcessorResult() {
doReturn(processorMonoResponse).when(service).callProcessor(any(), any()); doReturn(processorMonoResponse).when(service).callProcessor(any(), any());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment