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

OZG-6810 [wip] do refactoring

parent 17acf325
Branches
Tags
No related merge requests found
...@@ -24,6 +24,8 @@ public class NachrichtenManagerConfiguration { ...@@ -24,6 +24,8 @@ public class NachrichtenManagerConfiguration {
public static final String NACHRICHTEN_VORGANG_REMOTE_SERVICE = "nachrichten_vorgangRemoteService"; public static final String NACHRICHTEN_VORGANG_REMOTE_SERVICE = "nachrichten_vorgangRemoteService";
public static final String NACHRICHTEN_ATTACHED_ITEM_SERVICE = "nachrichten_attachedItemService"; public static final String NACHRICHTEN_ATTACHED_ITEM_SERVICE = "nachrichten_attachedItemService";
public static final String NACHRICHTEN_OZG_CLOUD_FILE_MAPPER = "nachrichten_OzgCloudFileMapperImpl"; public static final String NACHRICHTEN_OZG_CLOUD_FILE_MAPPER = "nachrichten_OzgCloudFileMapperImpl";
public static final String BINARY_FILE_SERVICE_NAME = "nachrichten_BinaryFileService";
public static final String BINARY_FILE_REMOTE_SERVICE_NAME = "nachrichten_BinaryFileRemoteService";
public static final String GRPC_VORGANG_MANAGER_NAME = "vorgang-manager"; public static final String GRPC_VORGANG_MANAGER_NAME = "vorgang-manager";
public static final String GRPC_COMMAND_MANAGER_NAME = "command-manager"; public static final String GRPC_COMMAND_MANAGER_NAME = "command-manager";
......
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.nachrichten.file;
import org.mapstruct.Mapper;
import de.ozgcloud.vorgang.grpc.file.GrpcOzgFile;
@Mapper
interface AttachmentFileMapper {
AttachmentFile fromOzgFile(GrpcOzgFile ozgFile);
}
/* /*
* Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein * Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei * Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
...@@ -21,16 +21,14 @@ ...@@ -21,16 +21,14 @@
* Die sprachspezifischen Genehmigungen und Beschränkungen * Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen. * unter der Lizenz sind dem Lizenztext zu entnehmen.
*/ */
package de.ozgcloud.nachrichten.postfach; package de.ozgcloud.nachrichten.file;
import java.io.InputStream; import org.springframework.stereotype.Component;
import com.mongodb.client.gridfs.model.GridFSFile; import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration;
//Temporally replacement for using GRPC Api @Component(NachrichtenManagerConfiguration.BINARY_FILE_REMOTE_SERVICE_NAME)
public interface BinaryFileService { class AttachmentFileRemoteService {
InputStream getUploadedFileStream(FileId fileId);
GridFSFile getFile(FileId fileId);
} }
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.nachrichten.file;
import java.io.InputStream;
import org.springframework.stereotype.Service;
import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration;
import de.ozgcloud.nachrichten.postfach.FileId;
import lombok.RequiredArgsConstructor;
@Service(NachrichtenManagerConfiguration.BINARY_FILE_SERVICE_NAME)
@RequiredArgsConstructor
public class AttachmentFileService {
private final AttachmentFileRemoteService attachmentFileRemoteService;
private final AttachmentFileMapper attachmentFileMapper;
public AttachmentFile getFile(FileId fileId) {
// new TechnicalException("Can not find attachment with id " + fileId));
return attachmentFileMapper.fromOzgFile(null);
}
public InputStream getFileContent(FileId fileId) {
return InputStream.nullInputStream();
}
public String createAttachmentFile(AttachmentFile binaryFile, InputStream fileContent) {
return "";
}
}
...@@ -7,7 +7,6 @@ import org.springframework.context.annotation.ComponentScan; ...@@ -7,7 +7,6 @@ import org.springframework.context.annotation.ComponentScan;
import de.ozgcloud.apilib.common.command.OzgCloudCommandService; import de.ozgcloud.apilib.common.command.OzgCloudCommandService;
import de.ozgcloud.apilib.file.OzgCloudFileService; import de.ozgcloud.apilib.file.OzgCloudFileService;
import de.ozgcloud.nachrichten.postfach.BinaryFileService;
import de.ozgcloud.nachrichten.postfach.muk.MukPostfachConfiguration; import de.ozgcloud.nachrichten.postfach.muk.MukPostfachConfiguration;
@SpringBootApplication @SpringBootApplication
...@@ -22,7 +21,5 @@ public class NachrichtenManagerTestApplication { ...@@ -22,7 +21,5 @@ public class NachrichtenManagerTestApplication {
@MockBean @MockBean
@Qualifier(MukPostfachConfiguration.OZG_CLOUD_FILE_SERVICE_NAME) @Qualifier(MukPostfachConfiguration.OZG_CLOUD_FILE_SERVICE_NAME)
private OzgCloudFileService mukOzgCloudFileServices; private OzgCloudFileService mukOzgCloudFileServices;
@MockBean
private BinaryFileService binaryFileService;
} }
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.nachrichten.file;
import static org.junit.jupiter.api.Assertions.*;
class AttachmentFileServiceTest {
}
\ No newline at end of file
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.nachrichten.file;
import com.thedeanda.lorem.LoremIpsum;
import de.ozgcloud.nachrichten.common.vorgang.VorgangTestFactory;
public class AttachmentFileTestFactory {
public static final String NAME = LoremIpsum.getInstance().getWords(1);
public static final String CONTENT_TYPE = LoremIpsum.getInstance().getWords(1);
public static final String VORGANG_ID = VorgangTestFactory.ID;
public static AttachmentFile create() {
return createBuilder().build();
}
public static AttachmentFile.AttachmentFileBuilder createBuilder() {
return AttachmentFile.builder()
.name(NAME)
.contentType(CONTENT_TYPE)
.vorgangId(VORGANG_ID);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment