diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java index 53a19e71a3c61bff81139098a1b75bc6f64ecda4..3b318c7c83cb1e729dbfb9497cb2cae97bcb0aef 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java @@ -29,6 +29,7 @@ import de.ozgcloud.alfa.common.binaryfile.FileId; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Builder; +import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; @@ -36,10 +37,13 @@ import lombok.NoArgsConstructor; @NoArgsConstructor(access = AccessLevel.PRIVATE) @AllArgsConstructor(access = AccessLevel.PACKAGE) @Getter +@EqualsAndHashCode(onlyExplicitlyIncluded = true) public class OzgFile { @JsonIgnore + @EqualsAndHashCode.Include private FileId id; + @EqualsAndHashCode.Include private String name; private long size; diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java index 29ca6ad24e03e5848311988b16a4280e1c089074..85c964af5fddcf578e6074bec1c596245b121d0b 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java @@ -259,12 +259,12 @@ class PostfachMailServiceTest { class TestCall { private final Stream<PostfachMail> postfachMail = Stream.of(postfachNachricht); - private final Stream<OzgFile> ozgFile = Stream.of(OzgFileTestFactory.create()); + private final Stream<OzgFile> ozgFiles = Stream.of(OzgFileTestFactory.create()); @BeforeEach void mock() { when(remoteService.findPostfachMails(anyString())).thenReturn(postfachMail); - when(fileService.getFiles(anyList())).thenReturn(ozgFile); + when(fileService.getFiles(anyList())).thenReturn(ozgFiles); } @Test diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java index e241271bba7b6ef3c375866639eda13f7d369ab7..bea5d003d18ce25769862c1f57f22e92584e469e 100644 --- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java +++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java @@ -1,6 +1,6 @@ package de.ozgcloud.alfa.export; -import java.util.List; +import java.util.Set; import de.ozgcloud.alfa.common.file.OzgFile; import de.xoev.xdomea.AbgabeAbgabe0401; @@ -16,6 +16,6 @@ class ExportData { private String exportFilename; private AbgabeAbgabe0401 abgabe; - private List<OzgFile> exportFiles; + private Set<OzgFile> exportFiles; } diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java index dfa730ff9003f54fcef6bc626d36c471dccec27e..65de7b375a079150afa974bd1dfc23ea0607b598 100644 --- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java +++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java @@ -6,8 +6,9 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.StandardCharsets; -import java.util.List; import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -78,7 +79,7 @@ class ExportService { postfachMailData.getAttachments().stream(), bescheidData.getFiles().stream()) .flatMap(s -> s) - .toList(); + .collect(Collectors.toSet()); return ExportData.builder().abgabe(abgabe).exportFilename(buildXmlFilename(filenameId)).exportFiles(exportFiles).build(); } @@ -114,7 +115,7 @@ class ExportService { zipOutputStream.closeEntry(); } - private void putFilesIntoZip(List<OzgFile> ozgFiles, ZipOutputStream zipOutputStream) { + private void putFilesIntoZip(Set<OzgFile> ozgFiles, ZipOutputStream zipOutputStream) { ozgFiles.forEach(ozgFile -> putOzgFileIntoZip(ozgFile, zipOutputStream)); } diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java index 9c4bfd7a1291e1a06ea16cc902d2ee60019f4a41..55e271e0050a302b0890245d0ca1bdc9f5adaa93 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java @@ -34,7 +34,7 @@ import de.xoev.xdomea.IdentifikationObjektType; class DokumentTypeBuilderTest { private final String fullName = UserProfileTestFactory.FULLNAME; private final Bescheid bescheid = BescheidTestFactory.create(); - private final OzgFile document = OzgFileTestFactory.create(); + private final OzgFile document = OzgFileTestFactory.createWithUniqueId(); @Spy private final DokumentTypeBuilder builder = DokumentTypeBuilder.builder() @@ -149,7 +149,7 @@ class DokumentTypeBuilderTest { @Nested class TestWithOneAnlage { private final AnlageDokumentType anlageDokumentAttachment = AnlageDokumentTypeTestFactory.create(); - private final OzgFile attachment = OzgFileTestFactory.create(); + private final OzgFile attachment = OzgFileTestFactory.createWithUniqueId(); @Test void shouldHaveOneAnlage() { @@ -250,7 +250,7 @@ class DokumentTypeBuilderTest { @Mock private AnlageDokumentTypeBuilder anlageDokumentTypeBuilder; private final AnlageDokumentType expectedAnlage = AnlageDokumentTypeTestFactory.create(); - private final OzgFile attachment = OzgFileTestFactory.create(); + private final OzgFile attachment = OzgFileTestFactory.createWithUniqueId(); @BeforeEach void setUp() { diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java index bd8d907e7cc79c9830cebdcb81e4061609657396..b72ed1351f816e7097735d394c9df7b3813f5c8e 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java @@ -154,8 +154,8 @@ class ExportBescheidServiceTest { class TestCreateBescheidExportInput { private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create(); private final Bescheid bescheid = BescheidTestFactory.create(); - private final OzgFile document = OzgFileTestFactory.create(); - private final OzgFile attachment = OzgFileTestFactory.create(); + private final OzgFile document = OzgFileTestFactory.createWithUniqueId(); + private final OzgFile attachment = OzgFileTestFactory.createWithUniqueId(); @BeforeEach void setUpMocks() { @@ -243,7 +243,7 @@ class ExportBescheidServiceTest { @Test void shouldReturnGottenOzgFiles() { - var expectedOzgFile = OzgFileTestFactory.create(); + var expectedOzgFile = OzgFileTestFactory.createWithUniqueId(); when(binaryFileService.getFiles(fileIds)).thenReturn(Stream.of(expectedOzgFile)); var resultOzgFiles = service.getAttachments(bescheid); @@ -255,7 +255,6 @@ class ExportBescheidServiceTest { @Nested class TestAddBescheidExportData { private final List<OzgFile> files = BescheidExportInputTestFactory.FILES; - private final OzgFile document = OzgFileTestFactory.create(); private final DokumentType dokumentType = DokumentTypeTestFactory.create(); private final BescheidExportInput exportInput = BescheidExportInputTestFactory.create(); diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java index bc41f37e450711daf6946261f7d85a4102d6fc99..c269f1948b14a8484a0250f77b29fcbe95fe8906 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java @@ -16,7 +16,7 @@ import de.ozgcloud.alfa.common.file.OzgFileTestFactory; class PrimaerdokumentTypeBuilderTest { - private final PrimaerdokumentTypeBuilder builder = PrimaerdokumentTypeBuilder.builder().withOzgFile(OzgFileTestFactory.create()); + private final PrimaerdokumentTypeBuilder builder = PrimaerdokumentTypeBuilder.builder().withOzgFile(OzgFileTestFactory.createWithUniqueId()); @Nested class TestBuild { @@ -26,7 +26,7 @@ class PrimaerdokumentTypeBuilderTest { private static final String ERSTELLER = "Ersteller"; private static final String GENERATED_FILE_NAME = "file_name"; private static final ZonedDateTime CREATED_AT = ZonedDateTime.now(); - private final OzgFile ozgFile = OzgFileTestFactory.create(); + private final OzgFile ozgFile = OzgFileTestFactory.createWithUniqueId(); @BeforeEach void setUp() { diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java index b6b8549770ace6c03514451fc6a5ab115af2b50f..84f4c718b85e1b76c6fa69fa3103fbd0c62fbe51 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java @@ -1,6 +1,6 @@ package de.ozgcloud.alfa.export; -import java.util.List; +import java.util.Set; import de.ozgcloud.alfa.common.file.OzgFile; import de.ozgcloud.alfa.common.file.OzgFileTestFactory; @@ -20,6 +20,6 @@ class ExportDataTestFactory { return ExportData.builder() .exportFilename(EXPORT_FILENAME) .abgabe(ABGABE) - .exportFiles(List.of(OZG_FILE)); + .exportFiles(Set.of(OZG_FILE)); } } diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java index 6b7317d5dda8cd690a9ee490d22e9258bc4a2945..df101b3da9a0289adfc7f9322e2e30a122b62715 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java @@ -136,8 +136,8 @@ class ExportServiceTest { private final NkAbgabeType kopfType = NkAbgabeTypeTestFactory.create(); private final AbgabeAbgabe0401 abgabe = AbgabeAbgabe0401TestFactory.create(); private final AkteType akteType = AkteTypeTestFactory.create(); - private final List<OzgFile> representations = List.of(OzgFileTestFactory.create()); - private final List<OzgFile> attachments = List.of(OzgFileTestFactory.create()); + private final List<OzgFile> representations = List.of(OzgFileTestFactory.createWithUniqueId()); + private final List<OzgFile> attachments = List.of(OzgFileTestFactory.createWithUniqueId()); private final List<DokumentType> representationsDokumentTypes = List.of(DokumentTypeTestFactory.create()); private final List<DokumentType> attachmentsDokumentTypes = List.of(DokumentTypeTestFactory.create()); private final List<HistorienProtokollInformationType> historienProtokollInformationTypes = List.of(