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

OZG-7144 timestamp null safe cause of NPE in Test

parent 00123d92
No related branches found
No related tags found
1 merge request!5OZG-7144 timestamp null safe cause of NPE in Test
Pipeline #2196 skipped
......@@ -26,7 +26,9 @@ package de.ozgcloud.eingang.intelliform;
import static java.util.stream.Collectors.*;
import java.io.IOException;
import java.time.ZonedDateTime;
import java.util.Collection;
import java.util.GregorianCalendar;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
......@@ -37,6 +39,7 @@ import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
......@@ -190,7 +193,8 @@ class DepositDataMapper {
}
IntelliFormMetaData buildMetaData(DepositData depositData) {
var builder = IntelliFormMetaData.builder().origin(depositData.getTimestamp().toGregorianCalendar().toZonedDateTime());
var builder = IntelliFormMetaData.builder();
getOrigin(depositData).ifPresent(builder::origin);
depositData.getCustomParameters()
.forEach(entry -> builder.customParameter(IntelliFormMetaData.CUSTOM_PARAM_PREFIX + entry.key.toUpperCase(), entry.value));
......@@ -198,4 +202,8 @@ class DepositDataMapper {
return builder.build();
}
Optional<ZonedDateTime> getOrigin(DepositData depositData) {
return Optional.ofNullable(depositData.getTimestamp()).map(XMLGregorianCalendar::toGregorianCalendar).map(GregorianCalendar::toZonedDateTime);
}
}
......@@ -453,7 +453,7 @@ class DepositDataMapperTest {
}
@Nested
class TestCreateMetaData {
class TestBuildMetaData {
@Test
void shouldHaveOrigin() {
......@@ -475,6 +475,16 @@ class DepositDataMapperTest {
assertThat(metaData.getEntry("CUSTOMPARAMETER_PARAM_KEY")).isEqualTo(DepositDataTestFactory.CUTOMPARA_VALUE);
}
@Test
void shouldHandleNullTimestamp() {
var depositData = DepositDataTestFactory.create();
depositData.setTimestamp(null);
var metaData = mapper.buildMetaData(depositData);
assertThat(metaData.getOrigin()).isNull();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment