Skip to content

Commit

Permalink
Merge branch 'dev' into feature/1457-pruefung-gesamtgroesse-dateien
Browse files Browse the repository at this point in the history
  • Loading branch information
markostreich committed Jul 4, 2024
2 parents 0dd32c1 + 652acf3 commit 71c1d1d
Show file tree
Hide file tree
Showing 255 changed files with 1,859 additions and 2,545 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/dependency-review.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ jobs:
GPL-1.0-only, GPL-1.0-or-later, GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-only, GPL-3.0-or-later,
LGPL-2.0-only, LGPL-2.0-or-later, LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, LGPL-3.0-or-later,
AGPL-1.0-only, AGPL-1.0-or-later, AGPL-3.0-only, AGPL-3.0-or-later
allow-dependencies-licenses: >-
pkg:maven/com.hazelcast/hazelcast-spring
comment-summary-in-pr: on-failure
2 changes: 1 addition & 1 deletion .github/workflows/workflow-build-services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ jobs:

- name: Build and push ticket-integration
if: inputs.build-images == true
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
with:
context: ./digiwf-integrations/digiwf-openai-integration/digiwf-openai-integration-service
push: true
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package de.muenchen.oss.digiwf.connector;

import com.tngtech.archunit.junit.AnalyzeClasses;
import com.tngtech.archunit.junit.ArchTest;
import com.tngtech.archunit.junit.ArchTests;
import de.muenchen.oss.digiwf.archunit.HexagonalArchitectureTest;

@AnalyzeClasses
public class ArchitectureTest {
@ArchTest
static final ArchTests hexagonalArchitecture = ArchTests.in(HexagonalArchitectureTest.class);
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<dependency>
<groupId>org.camunda.community.rest</groupId>
<artifactId>camunda-platform-7-rest-client-spring-boot-starter</artifactId>
<version>7.20.1</version>
<version>${camunda.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
Expand All @@ -52,9 +52,8 @@
<artifactId>camunda-bpm-spring-boot-starter-external-task-client</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
</dependency>

<!-- DigiWF -->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.in;
package de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest;

import de.muenchen.oss.digiwf.connector.adapter.camunda.rest.mapper.EngineDataSerializer;
import de.muenchen.oss.digiwf.connector.core.application.port.in.ExecuteTaskInPort;
import de.muenchen.oss.digiwf.connector.core.application.port.in.ExecuteTaskInPort.ExecuteTaskCommand;
import de.muenchen.oss.digiwf.connector.core.domain.IntegrationNameConfigException;
Expand All @@ -22,7 +21,7 @@ public class CamundaClient implements ExternalTaskHandler {

private final ExecuteTaskInPort executeTaskInPort;
private final CamundaClientConfiguration outputConfiguration;
private final EngineDataSerializer serializer;
private final FromEngineDataMapper mapper;

@Override
public void execute(final ExternalTask externalTask, final ExternalTaskService externalTaskService) {
Expand Down Expand Up @@ -54,7 +53,7 @@ public void execute(final ExternalTask externalTask, final ExternalTaskService e
} catch (final ProcessDefinitionLoadingException e) {
externalTaskService.handleFailure(externalTask, e.getMessage(), e.getDetailedMessage(), 0, 0);
} catch (final Exception e) {
externalTaskService.handleFailure(externalTask, e.getMessage(), ExceptionUtils.getStackTrace(e),0, 0);
externalTaskService.handleFailure(externalTask, e.getMessage(), ExceptionUtils.getStackTrace(e), 0, 0);
}
}

Expand All @@ -67,7 +66,7 @@ private Map<String, Object> filterVariables(final Map<String, Object> variables)
}

private Map<String, Object> getData(final ExternalTask externalTask) {
return this.serializer.fromEngineData(externalTask.getAllVariablesTyped());
return this.mapper.fromEngineData(externalTask.getAllVariablesTyped());
}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.in;
package de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest;

import lombok.RequiredArgsConstructor;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.mapper;
package de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest;

import org.camunda.bpm.engine.variable.VariableMap;
import org.camunda.bpm.engine.variable.value.TypedValue;
import org.camunda.community.rest.client.model.VariableValueDto;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.stereotype.Component;
Expand All @@ -12,18 +11,7 @@


@Component
public class EngineDataSerializer {

public Map<String, VariableValueDto> toEngineData(final Map<String, Object> data) {
final JSONObject jsonData = new JSONObject(data);
final Map<String, VariableValueDto> variables = new HashMap<>();
jsonData.keySet().forEach(key -> {
final Object value = jsonData.get(key);
variables.put(key, this.toEngineData(value));
}
);
return variables;
}
public class FromEngineDataMapper {

public Map<String, Object> fromEngineData(final VariableMap variables) {
final Map<String, Object> data = new HashMap<>();
Expand All @@ -39,17 +27,6 @@ public Map<String, Object> fromEngineData(final VariableMap variables) {
return data;
}

public VariableValueDto toEngineData(final Object value) {
final VariableValueDto variableValueDto = new VariableValueDto();
if (value instanceof JSONObject || value instanceof JSONArray) {
variableValueDto.setValue(value.toString());
variableValueDto.setType("json");
} else {
variableValueDto.setValue(value);
}
return variableValueDto;
}

//---------------------------------- helper methods ----------------------------------//

private Object fromEngineData(final Object value) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.out;
package de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest;


import de.muenchen.oss.digiwf.connector.adapter.camunda.rest.mapper.EngineDataSerializer;
import de.muenchen.oss.digiwf.connector.core.application.port.out.CreateBpmnErrorOutPort;
import de.muenchen.oss.digiwf.connector.core.domain.BpmnError;
import lombok.RequiredArgsConstructor;
Expand All @@ -20,7 +19,7 @@ public class BpmnErrorAdapter implements CreateBpmnErrorOutPort {
public static final String VARIABLEKEY_ERROR_MESSAGE = "errorMessage";

private final MessageApi messageApi;
private final EngineDataSerializer serializer;
private final ToEngineDataMapper mapper;

@Override
public void createBpmnError(final BpmnError bpmnError) {
Expand All @@ -34,11 +33,11 @@ public void createBpmnError(final BpmnError bpmnError) {
}

if (StringUtils.isNotBlank(bpmnError.getErrorCode())) {
correlationMessageDto.putProcessVariablesItem(VARIABLEKEY_ERROR_CODE, this.serializer.toEngineData(bpmnError.getErrorCode()));
correlationMessageDto.putProcessVariablesItem(VARIABLEKEY_ERROR_CODE, this.mapper.toEngineData(bpmnError.getErrorCode()));
}

if (StringUtils.isNotBlank(bpmnError.getErrorMessage())) {
correlationMessageDto.putProcessVariablesItem(VARIABLEKEY_ERROR_MESSAGE, this.serializer.toEngineData(bpmnError.getErrorMessage()));
correlationMessageDto.putProcessVariablesItem(VARIABLEKEY_ERROR_MESSAGE, this.mapper.toEngineData(bpmnError.getErrorMessage()));
}

this.messageApi.deliverMessage(correlationMessageDto);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.out;
package de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest;

import de.muenchen.oss.digiwf.connector.core.application.port.out.CreateIncidentOutPort;
import lombok.RequiredArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.out;
package de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest;


import de.muenchen.oss.digiwf.connector.adapter.camunda.rest.mapper.EngineDataSerializer;
import de.muenchen.oss.digiwf.connector.core.application.port.out.CorrelateMessageOutPort;
import de.muenchen.oss.digiwf.connector.core.domain.MessageCorrelation;
import lombok.RequiredArgsConstructor;
Expand All @@ -20,7 +19,7 @@
public class MessageAdapter implements CorrelateMessageOutPort {

private final MessageApi messageApi;
private final EngineDataSerializer serializer;
private final ToEngineDataMapper mapper;

@Override
public void correlateMessage(final MessageCorrelation messageCorrelation) {
Expand All @@ -30,12 +29,12 @@ public void correlateMessage(final MessageCorrelation messageCorrelation) {
correlationMessageDto.setMessageName(messageCorrelation.getMessageName());

if (messageCorrelation.getPayloadVariables() != null && !messageCorrelation.getPayloadVariables().isEmpty()) {
final Map<String, VariableValueDto> variables = this.serializer.toEngineData(messageCorrelation.getPayloadVariables());
final Map<String, VariableValueDto> variables = this.mapper.toEngineData(messageCorrelation.getPayloadVariables());
correlationMessageDto.setProcessVariables(variables);
}

if (messageCorrelation.getPayloadVariablesLocal() != null && !messageCorrelation.getPayloadVariablesLocal().isEmpty()) {
final Map<String, VariableValueDto> variables = this.serializer.toEngineData(messageCorrelation.getPayloadVariablesLocal());
final Map<String, VariableValueDto> variables = this.mapper.toEngineData(messageCorrelation.getPayloadVariablesLocal());
correlationMessageDto.setProcessVariablesLocal(variables);
}

Expand All @@ -46,7 +45,7 @@ public void correlateMessage(final MessageCorrelation messageCorrelation) {
if (StringUtils.isNotBlank(messageCorrelation.getBusinessKey())) {
correlationMessageDto.setBusinessKey(messageCorrelation.getBusinessKey());
}

this.messageApi.deliverMessage(correlationMessageDto);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest;

import org.camunda.community.rest.client.model.VariableValueDto;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;


@Component
public class ToEngineDataMapper {

public Map<String, VariableValueDto> toEngineData(final Map<String, Object> data) {
final JSONObject jsonData = new JSONObject(data);
final Map<String, VariableValueDto> variables = new HashMap<>();
jsonData.keySet().forEach(key -> {
final Object value = jsonData.get(key);
variables.put(key, this.toEngineData(value));
}
);
return variables;
}

public VariableValueDto toEngineData(final Object value) {
final VariableValueDto variableValueDto = new VariableValueDto();
if (value instanceof JSONObject || value instanceof JSONArray) {
variableValueDto.setValue(value.toString());
variableValueDto.setType("json");
} else {
variableValueDto.setValue(value);
}
return variableValueDto;
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.out.processdefinition;
package de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest.processdefinition;

import de.muenchen.oss.digiwf.connector.core.application.port.out.ProcessOutPort;
import de.muenchen.oss.digiwf.connector.core.domain.ProcessDefinitionLoadingException;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.out.processdefinition;
package de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest.processdefinition;

import de.muenchen.oss.digiwf.spring.security.client.DigiwfFeignOauthClientConfig;
import org.springframework.cloud.openfeign.FeignClient;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.out.processdefinition;
package de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest.processdefinition;

import lombok.AllArgsConstructor;
import lombok.Builder;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest;
package de.muenchen.oss.digiwf.connector.camunda.rest;

import de.muenchen.oss.digiwf.connector.adapter.camunda.rest.in.CamundaClient;
import de.muenchen.oss.digiwf.connector.adapter.camunda.rest.in.CamundaClientConfiguration;
import de.muenchen.oss.digiwf.connector.adapter.camunda.rest.mapper.EngineDataSerializer;
import de.muenchen.oss.digiwf.connector.core.adapter.out.EventEmitterAdapter;
import de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest.CamundaClient;
import de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest.CamundaClientConfiguration;
import de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest.FromEngineDataMapper;
import de.muenchen.oss.digiwf.connector.core.adapter.out.streaming.EventEmitterAdapter;
import de.muenchen.oss.digiwf.connector.core.application.port.in.ExecuteTaskInPort;
import de.muenchen.oss.digiwf.connector.core.application.port.out.EmitEventOutPort;
import lombok.RequiredArgsConstructor;
Expand All @@ -22,9 +22,9 @@


@RequiredArgsConstructor
@ComponentScan(basePackages = "de.muenchen.oss.digiwf.connector.adapter.camunda.rest")
@ComponentScan(basePackages = "de.muenchen.oss.digiwf.connector.adapter.*.camunda.rest")
@EnableConfigurationProperties(DigiWFCamundaConnectorProperties.class)
@EnableFeignClients(basePackages = "de.muenchen.oss.digiwf.connector.adapter.camunda.rest.out")
@EnableFeignClients(basePackages = "de.muenchen.oss.digiwf.connector.adapter.out.camunda.rest")
public class DigiWFCamundaConnectorAutoConfiguration {


Expand All @@ -44,8 +44,9 @@ public EmitEventOutPort outputService(final Sinks.Many<Message<Map<String, Objec

@Bean
@ExternalTaskSubscription("generic-output")
public CamundaClient camundaOutputClient(final ExecuteTaskInPort executeTaskInPort, final CamundaClientConfiguration camundaOutputConfiguration, final EngineDataSerializer engineDataSerializer) {
return new CamundaClient(executeTaskInPort, camundaOutputConfiguration, engineDataSerializer);
public CamundaClient camundaOutputClient(final ExecuteTaskInPort executeTaskInPort, final CamundaClientConfiguration camundaOutputConfiguration, final
FromEngineDataMapper fromEngineDataMapper) {
return new CamundaClient(executeTaskInPort, camundaOutputConfiguration, fromEngineDataMapper);
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest;
package de.muenchen.oss.digiwf.connector.camunda.rest;

import lombok.Getter;
import lombok.Setter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
de.muenchen.oss.digiwf.connector.adapter.camunda.rest.DigiWFCamundaConnectorAutoConfiguration
de.muenchen.oss.digiwf.connector.camunda.rest.DigiWFCamundaConnectorAutoConfiguration

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.in;
package de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package de.muenchen.oss.digiwf.connector.adapter.camunda.rest.in;
package de.muenchen.oss.digiwf.connector.adapter.in.camunda.rest;

import de.muenchen.oss.digiwf.connector.adapter.camunda.rest.mapper.EngineDataSerializer;
import de.muenchen.oss.digiwf.connector.core.application.port.in.ExecuteTaskInPort;
import org.camunda.bpm.client.task.ExternalTask;
import org.camunda.bpm.client.task.ExternalTaskService;
Expand All @@ -27,7 +26,7 @@ class CamundaClientTest {
private CamundaClientConfiguration clientConfiguration;

@Mock
private EngineDataSerializer serializer;
private FromEngineDataMapper serializer;

@Mock
private ExternalTask externalTask;
Expand Down
Loading

0 comments on commit 71c1d1d

Please sign in to comment.