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

OZG-5156 Accept FIM messages in XTA adapter

parent cb8c5762
No related branches found
No related tags found
No related merge requests found
package de.ozgcloud.eingang.xta;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormHeader;
import de.ozgcloud.eingang.common.formdata.IncomingFile;
import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
import org.springframework.stereotype.Component;
import java.util.Collection;
import java.util.Collections;
import static de.ozgcloud.eingang.xta.XtaMessageMapper.VORGANG_NUMMER_SUFFIX_LENGTH;
@Component
public class FimMessageMapper {
/*
* FIXME: This is only a quick and dirty implementation for a fim message mapper
*/
public FormData toFormData(final XtaMessageMetaData metaData, final VorgangNummerSupplier vorgangNummerSupplier, final Collection<IncomingFile> incomingFileList) {
return FormData.builder()
.header(FormHeader.builder()
.formId(metaData.getMessageType())
.requestId(metaData.getMessageId().toString())
.createdAt(metaData.getOrigin())
.vorgangNummer(vorgangNummerSupplier.get(VORGANG_NUMMER_SUFFIX_LENGTH))
.sender("XTA")
.build())
.numberOfAttachments(incomingFileList.size())
.attachments(Collections.singleton(IncomingFileGroup.builder()
.name("fim_files")
.files(incomingFileList)
.build()))
.build();
}
}
......@@ -31,6 +31,8 @@ class XtaService {
@Autowired
private XdomeaMessageDataMapper xdomeaMessageDataMapper;
@Autowired
private FimMessageMapper fimMessageMapper;
@Autowired
private XtaIncomingFilesMapper xtaIncomingFilesMapper;
public Stream<FormData> getMessages() {
......@@ -43,10 +45,6 @@ class XtaService {
}
boolean isSupportedMessageType(XtaMessageMetaData metaData) {
if (StringUtils.equals(metaData.getMessageType(), XDOMEA_0201_MESSAGE_TYPE)) {
return true;
}
if (StringUtils.startsWith(metaData.getMessageType(), ALL_FIM_MESSAGES_PREFIX)) {
return true;
}
......@@ -58,9 +56,9 @@ class XtaService {
public FormData getFormData(@NonNull XtaMessageMetaData metaData) {
var msg = remoteService.getMessage(metaData.getMessageId());
var incomingFiles = xtaIncomingFilesMapper.toIncomingFiles(msg.getMessageFiles());
var xdomeaMessageData = xdomeaMessageDataMapper.mapIncomingFilesToXdomeaMessageData(incomingFiles);
return mapper.toFormData(xdomeaMessageData, metaData, vorgangNummerSupplier);
// FIXME should be called based on messageType and not hard coded
return fimMessageMapper.toFormData(metaData, vorgangNummerSupplier, incomingFiles);
}
public void acknowledgeReceive(@NonNull XtaMessageId messageId) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment