Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • ozg-cloud/app/processor-manager
1 result
Select Git revision
Show changes
Commits on Source (4)
...@@ -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());
......