Skip to content
Snippets Groups Projects
Commit 7c8f87e4 authored by Jan Zickermann's avatar Jan Zickermann
Browse files

Merge branch...

Merge branch 'refs/heads/OZG-5413-Senden-OD-Mantelantrag-an-AFM-Eingangsstelle-via-NB' into OZG-5415-Semantik-Adapter-Formbase
parents a810d2fa 4d28716f
Branches
Tags
No related merge requests found
Showing with 53 additions and 31 deletions
......@@ -42,7 +42,6 @@ import lombok.extern.log4j.Log4j2;
@Endpoint
@Log4j2
@RequiredArgsConstructor
public class IntelliFormEndpoint {
private static final String NAMESPACE_URI = "http://xmlns.cit.de/intelliform/2009/webservices/backend";
......@@ -52,8 +51,11 @@ public class IntelliFormEndpoint {
private static final QName _DepositResponse_QNAME = new QName(NAMESPACE_URI, "depositResponse");
private static final QName _PrefillResponse_QNAME = new QName(NAMESPACE_URI, "prefillResponse");
private final IntelliFormMapper intelliFormMapper;
private final SemantikAdapter semantikAdapter;
@Autowired
private IntelliFormMapper intelliFormMapper;
@Autowired
private SemantikAdapter semantikAdapter;
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "deposit")
@ResponsePayload
......
......@@ -26,6 +26,7 @@ package de.ozgcloud.eingang.semantik;
import java.util.List;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import de.ozgcloud.eingang.common.formdata.FormData;
......@@ -35,12 +36,14 @@ import de.ozgcloud.eingang.semantik.formbased.FormBasedSemantikAdapter;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor
public class SemantikAdapter {
private final List<EngineBasedSemantikAdapter> engineBasedAdapters;
private final FormBasedSemantikAdapter formBasedAdapter;
private final VorgangService vorgangService;
@Autowired
private List<EngineBasedSemantikAdapter> engineBasedAdapters;
@Autowired
private FormBasedSemantikAdapter formBasedAdapter;
@Autowired
private VorgangService vorgangService;
public String processFormData(FormData formData) {
formData = parseByEngineAdapter(formData);
......
......@@ -25,6 +25,7 @@ package de.ozgcloud.eingang.semantik.enginebased.afm;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import de.ozgcloud.eingang.common.formdata.FormData;
......@@ -34,12 +35,13 @@ import de.ozgcloud.eingang.semantik.enginebased.afm.intelliform.IntelliFormRepre
import lombok.RequiredArgsConstructor;
@Component
@RequiredArgsConstructor
public class AfmEngineBasedAdapter implements EngineBasedSemantikAdapter {
private final IntelliFormRepresentationAdapter intelliFormRepresentationAdapter;
@Autowired
private IntelliFormRepresentationAdapter intelliFormRepresentationAdapter;
private final List<AfmEngineBasedMapper> mappers;
@Autowired
private List<AfmEngineBasedMapper> mappers;
@Override
public FormData parseFormData(FormData formData) {
......
......@@ -11,6 +11,7 @@ import java.util.function.Predicate;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
......@@ -27,7 +28,6 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
@Component
@RequiredArgsConstructor
public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSemantikAdapter {
private static final String FACHNACHRICHT_SUFFIX = "Fachnachricht.xml";
......@@ -37,7 +37,8 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
private static final String KEY_POSTFACH_ID = "InboxReference";
private static final String KEY_ORGANISATIONS_EINHEIT_ID = "MetaText1";
private final ServiceKontoBuildHelper serviceKontoHelper;
@Autowired
private ServiceKontoBuildHelper serviceKontoHelper;
@Override
public FormData parseFormData(FormData formData) {
......
package de.ozgcloud.eingang.xta;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.ws.client.WebServiceClientException;
import org.springframework.ws.client.support.interceptor.ClientInterceptor;
......@@ -8,6 +8,7 @@ import org.springframework.ws.context.MessageContext;
import org.springframework.ws.soap.SoapMessage;
import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
import eu.osci.ws._2014._10.transport.OriginatorsType;
import eu.osci.ws._2014._10.transport.PartyIdentifierType;
import eu.osci.ws._2014._10.transport.PartyType;
import jakarta.validation.Valid;
......@@ -16,11 +17,11 @@ import jakarta.xml.bind.JAXBElement;
import jakarta.xml.bind.JAXBException;
@Component
@RequiredArgsConstructor
class WsHeaderAddingInterceptor implements ClientInterceptor {
@Autowired
@Valid
private final XtaProperties properties;
private XtaProperties properties;
@Override
public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException {
......@@ -46,6 +47,9 @@ class WsHeaderAddingInterceptor implements ClientInterceptor {
identifier.setValue(properties.getIdentifier());
partyType.setIdentifier(identifier);
var origin = new OriginatorsType();
origin.setAuthor(partyType);
return objectFactory.createAuthor(partyType);
}
......
......@@ -10,6 +10,10 @@ import java.util.Iterator;
import java.util.stream.Stream;
import javax.xml.namespace.QName;
import javax.xml.transform.TransformerException;
import jakarta.validation.Valid;
import jakarta.xml.bind.JAXBElement;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -43,8 +47,6 @@ import eu.osci.ws._2008._05.transport.MsgSelector;
import eu.osci.ws._2008._05.transport.MsgStatusListType;
import eu.osci.ws._2008._05.transport.ObjectFactory;
import eu.osci.ws._2014._10.transport.MessageMetaData;
import jakarta.validation.Valid;
import jakarta.xml.bind.JAXBElement;
import lombok.NonNull;
import lombok.extern.log4j.Log4j2;
......@@ -103,16 +105,19 @@ class XtaRemoteService {
}
WebServiceMessageCallback buildMarshalCallBack(Object jaxbElement, ActionCallback callback) {
return message -> {
return new WebServiceMessageCallback() {
@Override
public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
MarshallingUtils.marshal(osciMarshaller, jaxbElement, message);
callback.doWithMessage(message);
}
};
}
WebServiceMessageExtractor<MsgStatusListTypeAndHeaderResponse> buildHeaderExtractor() {
return new WebServiceMessageExtractor<>() {
return new WebServiceMessageExtractor<MsgStatusListTypeAndHeaderResponse>() {
@Override
public MsgStatusListTypeAndHeaderResponse extractData(WebServiceMessage message) throws IOException {
public MsgStatusListTypeAndHeaderResponse extractData(WebServiceMessage message) throws IOException, TransformerException {
MsgBoxResponseType header = extractHeader(message);
......@@ -273,7 +278,7 @@ class XtaRemoteService {
@SuppressWarnings("unchecked")
ExceptionType exceptionType = ((JAXBElement<ExceptionType>) xoevMarshaller.unmarshal(soapfaultdetailelement1.getSource())).getValue();
return DETAIL_LOG_TEMPLATE.formatted(exceptionType.getErrorCode().getCode(), exceptionType.getErrorCode().getName());
return DETAIL_LOG_TEMPLATE.formatted(exceptionType.getErrorCode().getCode(), exceptionType.getErrorCode().getName().toString());
}
......
......@@ -8,6 +8,7 @@ import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
import de.ozgcloud.eingang.xdomea.XdomeaMessageDataMapper;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import de.ozgcloud.eingang.common.formdata.FormData;
......@@ -16,16 +17,20 @@ import lombok.extern.log4j.Log4j2;
@Service
@Log4j2
@RequiredArgsConstructor
class XtaService {
static final String XDOMEA_0201_MESSAGE_TYPE = "Geschaeftsgang.Geschaeftsgang.0201";
private final XtaRemoteService remoteService;
private final XtaMessageMapper mapper;
private final VorgangNummerSupplier vorgangNummerSupplier;
private final XdomeaMessageDataMapper xdomeaMessageDataMapper;
private final XtaIncomingFilesMapper xtaIncomingFilesMapper;
@Autowired
private XtaRemoteService remoteService;
@Autowired
private XtaMessageMapper mapper;
@Autowired
private VorgangNummerSupplier vorgangNummerSupplier;
@Autowired
private XdomeaMessageDataMapper xdomeaMessageDataMapper;
@Autowired
private XtaIncomingFilesMapper xtaIncomingFilesMapper;
public Stream<FormData> getMessages() {
return createXtaMessageStream().filter(this::isSupportedMessageType).map(this::getFormData);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment