Skip to content
Snippets Groups Projects
Commit f3fab6c3 authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'OZG-5287 Weiter funktioniert nicht' (#318) from...

Merge pull request 'OZG-5287 Weiter funktioniert nicht' (#318) from OZG-5287-fix-ClassCastException into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/vorgang-manager/pulls/318


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents ebe98799 3af1846b
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,7 @@ import java.util.Optional;
import java.util.stream.Stream;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import de.ozgcloud.bescheid.GrpcBescheid;
......@@ -62,13 +63,19 @@ public class BescheidItemMapper {
var bescheidBuilder = GrpcBescheid.newBuilder().setVersion(bescheid.getVersion());
Optional.ofNullable(bescheid.getId()).ifPresent(bescheidBuilder::setId);
var bescheidData = bescheid.getBescheidData();
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_BESCHIEDEN_AM)).ifPresent(bescheidBuilder::setBeschiedenAm);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_BESCHIEDEN_AM)).map(StringUtils::trimToNull)
.ifPresent(bescheidBuilder::setBeschiedenAm);
Optional.ofNullable(MapUtils.getBoolean(bescheidData, BescheidItem.FIELD_BEWILLIGT)).ifPresent(bescheidBuilder::setBewilligt);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_BESCHEID_DOCUMENT)).ifPresent(bescheidBuilder::setBescheidDocument);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_SEND_BY)).ifPresent(bescheidBuilder::setSendBy);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_NACHRICHT_TEXT)).ifPresent(bescheidBuilder::setNachrichtText);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_NACHRICHT_SUBJECT)).ifPresent(bescheidBuilder::setNachrichtSubject);
Optional.ofNullable(bescheidData.get(BescheidItem.FIELD_ATTACHMENTS)).map(Collection.class::cast).ifPresent(bescheidBuilder::addAllAttachments);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_BESCHEID_DOCUMENT)).map(StringUtils::trimToNull)
.ifPresent(bescheidBuilder::setBescheidDocument);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_SEND_BY)).map(StringUtils::trimToNull)
.ifPresent(bescheidBuilder::setSendBy);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_NACHRICHT_TEXT)).map(StringUtils::trimToNull)
.ifPresent(bescheidBuilder::setNachrichtText);
Optional.ofNullable(MapUtils.getString(bescheidData, BescheidItem.FIELD_NACHRICHT_SUBJECT)).map(StringUtils::trimToNull)
.ifPresent(bescheidBuilder::setNachrichtSubject);
Optional.ofNullable(bescheidData.get(BescheidItem.FIELD_ATTACHMENTS)).filter(Collection.class::isInstance).map(Collection.class::cast)
.ifPresent(bescheidBuilder::addAllAttachments);
return bescheidBuilder.build();
}
......
......@@ -26,8 +26,13 @@ package de.ozgcloud.bescheid.attacheditem;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.HashMap;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.NullAndEmptySource;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
......@@ -195,6 +200,19 @@ class BescheidItemMapperTest {
assertThat(bescheid.getVersion()).isEqualTo(BescheidItemTestFactory.VERSION);
}
@DisplayName("should skip add attachments when")
@ParameterizedTest(name = "attachments is {0}")
@NullAndEmptySource
void shouldSkipEmptyAttachments(String attachments) {
var bescheidData = new HashMap<String, Object>();
bescheidData.put(BescheidItem.FIELD_ATTACHMENTS, attachments);
var bescheidItem = BescheidItemTestFactory.createBuilder().bescheidData(bescheidData).build();
var result = mapper.toBescheid(bescheidItem);
assertThat(result.getAttachmentsList()).isEmpty();
}
private GrpcBescheid mapBescheid() {
return mapper.toBescheid(BescheidItemTestFactory.create());
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment