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/eingang/intelliform-adapter
1 result
Select Git revision
Show changes
Commits on Source (2)
......@@ -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();
}
}
}