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
  • create-gitlab-pipeline
  • main
  • release
  • 1.0.0
  • 1.1.0
  • 1.2.0
  • 1.3.0
  • 1.4.0
8 results

Target

Select target project
  • ozg-cloud/app/aggregation-manager
1 result
Select Git revision
  • create-gitlab-pipeline
  • main
  • release
  • 1.0.0
  • 1.1.0
  • 1.2.0
  • 1.3.0
  • 1.4.0
8 results
Show changes
Commits on Source (5)
Showing
with 51 additions and 73 deletions
......@@ -75,6 +75,10 @@ spec:
- name: ozgcloud_administration_address
value: {{ include "app.getOzgcloudAdministrationAddress" . }}
{{- end }}
{{- if .Values.mandant }}
- name: ozgcloud_mandant
value: {{ .Values.mandant }}
{{- end }}
{{- with include "app.getCustomList" . }}
{{ . | indent 14 }}
{{- end }}
......
......@@ -33,7 +33,7 @@ ozgcloud:
database:
useExternal: false
databaseName: aggregation-manager-job-database
secretName: ozg-mongodb-admin-aggregation-manager-user
secretName: ozg-mongodb-admin-aggregation-manager-job-user
tls:
enabled: false
secretName: ozg-mongodb-tls-cert
......
/*
* Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.aggregation;
import org.springframework.boot.context.properties.ConfigurationProperties;
import lombok.Getter;
import lombok.Setter;
@ConfigurationProperties(prefix = "aggregation-manager")
@Getter
@Setter
public class AggregationManagerConfiguration {
private int fetchingBatchSize;
}
......@@ -43,6 +43,7 @@ import net.devh.boot.grpc.client.inject.GrpcClientBean;
@GrpcClientBean(clazz = VorgangServiceGrpc.VorgangServiceBlockingStub.class, beanName = "vorgangServiceBlockingStub", client = @GrpcClient("vorgang-manager"))
@GrpcClientBean(clazz = AggregationDataServiceGrpc.AggregationDataServiceStub.class, beanName = "aggregationDataServiceStub", client = @GrpcClient("aggregation-manager"))
public class AggregationManagerGrpcConfiguration {
@GrpcClient("vorgang-manager")
VorgangServiceGrpc.VorgangServiceBlockingStub vorgangServiceBlockingStub;
@GrpcClient("aggregation-manager")
......@@ -58,8 +59,7 @@ public class AggregationManagerGrpcConfiguration {
@Bean
@ConditionalOnProperty("grpc.client.aggregation-manager.address")
AggregationDataRemoteService aggregationDataRemoteService(AggregationManagerProperties properties,
AggregationManagerConfiguration configuration, GrpcAggregationDataMapper grpcAggregationDataMapper) {
return new AggregationDataRemoteService(aggregationDataServiceStub, properties, configuration, grpcAggregationDataMapper);
AggregationDataRemoteService aggregationDataRemoteService(AggregationManagerProperties properties, GrpcAggregationDataMapper grpcAggregationDataMapper) {
return new AggregationDataRemoteService(aggregationDataServiceStub, properties, grpcAggregationDataMapper);
}
}
......@@ -39,5 +39,6 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class AggregationManagerProperties {
private int fetchingBatchSize;
private String mandant;
}
......@@ -49,7 +49,7 @@ public abstract class AggregationManagerRunner implements CommandLineRunner {
private static final String MDC_EXECUTION = "execution";
private final AggregationManagerConfiguration config;
private final AggregationManagerProperties aggregationManagerProperties;
private final TransformationProperties transformationProperties;
private final TransformationService transformationService;
private final AggregationDataLoaderRegistry loaderRegistry;
......@@ -91,7 +91,7 @@ public abstract class AggregationManagerRunner implements CommandLineRunner {
Aggregator createAggregator(AggregationMapping.Scope scope) {
return createAggregator()
.withBatchSize(config.getFetchingBatchSize())
.withBatchSize(aggregationManagerProperties.getFetchingBatchSize())
.withLoader(loaderRegistry.getLoader(scope));
}
......
......@@ -29,7 +29,6 @@ import java.util.concurrent.Future;
import java.util.stream.Stream;
import de.ozgcloud.aggregation.Aggregation;
import de.ozgcloud.aggregation.AggregationManagerConfiguration;
import de.ozgcloud.aggregation.AggregationManagerProperties;
import de.ozgcloud.aggregation.data.AggregationDataServiceGrpc;
import de.ozgcloud.aggregation.data.GrpcAggregationData;
......@@ -49,7 +48,6 @@ public class AggregationDataRemoteService {
@GrpcClient("aggregation-manager")
private final AggregationDataServiceGrpc.AggregationDataServiceStub serviceStub;
private final AggregationManagerProperties properties;
private final AggregationManagerConfiguration configuration;
private final GrpcAggregationDataMapper grpcAggregationDataMapper;
public Future<Void> sendAggregationData(Aggregation aggregation) {
......@@ -61,7 +59,7 @@ public class AggregationDataRemoteService {
SendAggregationDataResponseObserver buildSendAggregationDataResponseObserver(Aggregation aggregation) {
var requestData = new RequestData(properties.getMandant(), aggregation.aggregationName(),
toGrpcAggregationDataStream(aggregation.documentEntries()).iterator());
return new SendAggregationDataResponseObserver(configuration.getFetchingBatchSize(), requestData);
return new SendAggregationDataResponseObserver(properties.getFetchingBatchSize(), requestData);
}
Stream<GrpcAggregationData> toGrpcAggregationDataStream(Stream<DocumentEntry> documentEntries) {
......
......@@ -14,10 +14,6 @@ spring:
database: aggregation-manager-job
ozgcloud:
vorgang-manager:
address: static://127.0.0.1:9090
negotiationType: PLAINTEXT
aggregation-manager:
fetching-batch-size: 5
mandant: "Landeshauptstadt Kiel"
......@@ -39,6 +39,7 @@ spring:
application:
name: OzgCloud_AggregationManager
aggregation-manager:
ozgcloud:
fetching-batch-size: 100
aggregation:
identifier: "id.value"
......@@ -68,7 +68,7 @@ tests:
name: spring_data_mongodb_uri
valueFrom:
secretKeyRef:
name: ozg-mongodb-admin-aggregation-manager-user
name: ozg-mongodb-admin-aggregation-manager-job-user
key: connectionString.standardSrv
optional: false
- contains:
......@@ -84,7 +84,7 @@ tests:
path: spec.jobTemplate.spec.template.spec.containers[0].envFrom
content:
secretRef:
name: ozg-mongodb-admin-aggregation-manager-user
name: ozg-mongodb-admin-aggregation-manager-job-user
- it: should not have a volume for the mongodb certificate if tls is disabled
set:
database:
......
......@@ -129,6 +129,28 @@ tests:
name: ozgcloud_administration_address
value: http://test-administration:8080
- it: should not set mandant per default
set:
ozgcloud:
environment: dev
asserts:
- notContains:
path: spec.jobTemplate.spec.template.spec.containers[0].env
content:
name: ozgcloud_mandant
any: true
- it: should set mandant
set:
mandant: dummy mandant value
ozgcloud:
environment: dev
asserts:
- contains:
path: spec.jobTemplate.spec.template.spec.containers[0].env
content:
name: ozgcloud_mandant
value: "dummy mandant value"
- it: should fail template when env not set
set:
asserts:
......
......@@ -53,7 +53,7 @@ import de.ozgcloud.aggregation.transformation.TransformationService;
class AggregationManagerRunnerTest {
@Mock
private AggregationManagerConfiguration config;
private AggregationManagerProperties aggregationManagerProperties;
@Mock
private TransformationProperties transformationProperties;
@Mock
......@@ -332,7 +332,7 @@ class AggregationManagerRunnerTest {
@BeforeEach
void init() {
when(config.getFetchingBatchSize()).thenReturn(batchSize);
when(aggregationManagerProperties.getFetchingBatchSize()).thenReturn(batchSize);
when(loaderRegistry.getLoader(any())).thenReturn(loader);
when(aggregator.withBatchSize(anyInt())).thenReturn(aggregator);
when(aggregator.withLoader(any())).thenReturn(aggregator);
......@@ -342,7 +342,7 @@ class AggregationManagerRunnerTest {
void shouldGetBatchSize() {
runner.createAggregator(scope);
verify(config).getFetchingBatchSize();
verify(aggregationManagerProperties).getFetchingBatchSize();
}
@Test
......@@ -376,9 +376,9 @@ class AggregationManagerRunnerTest {
static class AggregationManagerRunnerImpl extends AggregationManagerRunner {
public AggregationManagerRunnerImpl(AggregationManagerConfiguration config, TransformationProperties transformationProperties,
public AggregationManagerRunnerImpl(AggregationManagerProperties aggregationManagerProperties, TransformationProperties transformationProperties,
TransformationService transformationService, AggregationDataLoaderRegistry loaderRegistry) {
super(config, transformationProperties, transformationService, loaderRegistry);
super(aggregationManagerProperties, transformationProperties, transformationService, loaderRegistry);
}
@Override
......
......@@ -46,7 +46,6 @@ import org.mockito.Spy;
import com.thedeanda.lorem.LoremIpsum;
import de.ozgcloud.aggregation.Aggregation;
import de.ozgcloud.aggregation.AggregationManagerConfiguration;
import de.ozgcloud.aggregation.AggregationManagerProperties;
import de.ozgcloud.aggregation.AggregationTestFactory;
import de.ozgcloud.aggregation.data.AggregationDataServiceGrpc;
......@@ -65,8 +64,6 @@ class AggregationDataRemoteServiceTest {
@Mock
private AggregationManagerProperties properties;
@Mock
private AggregationManagerConfiguration configuration;
@Mock
private GrpcAggregationDataMapper grpcAggregationDataMapper;
@InjectMocks
@Spy
......@@ -124,7 +121,7 @@ class AggregationDataRemoteServiceTest {
@BeforeEach
void init() {
doReturn(Stream.of(GrpcAggregationDataTestFactory.create())).when(service).toGrpcAggregationDataStream(any());
when(configuration.getFetchingBatchSize()).thenReturn(BATCH_SIZE);
when(properties.getFetchingBatchSize()).thenReturn(BATCH_SIZE);
}
@Test
......@@ -146,7 +143,7 @@ class AggregationDataRemoteServiceTest {
void shouldGetBatchSize() {
service.buildSendAggregationDataResponseObserver(AggregationTestFactory.create());
verify(configuration).getFetchingBatchSize();
verify(properties).getFetchingBatchSize();
}
@Test
......
......@@ -10,14 +10,11 @@ spring:
banner-mode: "off"
ozgcloud:
vorgang-manager:
address: static://127.0.0.1:9090
negotiationType: PLAINTEXT
command:
line:
runner:
enabled: false
aggregation-manager:
mandant: "Landeshauptstadt Kiel"
fetching-batch-size: 2
aggregation:
identifier: "id.value"