From 4a1a89d571cd9cd56709fc07ebe751a4c7f23197 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 18 Jul 2024 11:42:05 +0200 Subject: [PATCH] OZG-5156 Accept FIM messages in XTA adapter schema classpath handling --- .../src/main/java/de/ozgcloud/eingang/fim/FimService.java | 6 +++++- fim-adapter/src/main/resources/application.yml | 2 +- fim-adapter/src/test/resources/application-test.yml | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java index d1bad439b..6a7ae7036 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java @@ -6,6 +6,7 @@ import io.micrometer.common.util.StringUtils; import jakarta.annotation.PostConstruct; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ResourceLoader; import org.springframework.stereotype.Service; import org.w3c.dom.Document; import org.xml.sax.SAXException; @@ -29,6 +30,9 @@ public class FimService { @Autowired private FimDataMapper fimDataMapper; + @Autowired + private ResourceLoader resourceLoader; + @Autowired private final List<FimSchemeAdapter> fimSchemeAdapters = new ArrayList<>(); @@ -55,7 +59,7 @@ public class FimService { private FimScheme loadFimScheme(final String path) throws ParserConfigurationException, IOException, SAXException { final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - final Document doc = builder.parse(new File(path)); + final Document doc = builder.parse(resourceLoader.getResource("classpath:" + path).getFile()); final String targetNamespace = doc.getDocumentElement().getAttribute("targetNamespace"); final FimSchemeIdentifier fimSchemeIdentifier = FimSchemeIdentifier.fromString(targetNamespace); final FimSchemeAdapter fimSchemeAdapter = fimSchemeAdapterCatalogue.getOrDefault(fimSchemeIdentifier, DEFAULT_FIM_SCHEME_ADAPTER); diff --git a/fim-adapter/src/main/resources/application.yml b/fim-adapter/src/main/resources/application.yml index c52241b27..1300ecebf 100644 --- a/fim-adapter/src/main/resources/application.yml +++ b/fim-adapter/src/main/resources/application.yml @@ -1,3 +1,3 @@ fim: schemeLocations: - - src/main/resources/fim-s17000652_1.4/S17000652V1.4_xfall.xsd \ No newline at end of file + - fim-s17000652_1.4/S17000652V1.4_xfall.xsd \ No newline at end of file diff --git a/fim-adapter/src/test/resources/application-test.yml b/fim-adapter/src/test/resources/application-test.yml index 62a350e59..148c1af75 100644 --- a/fim-adapter/src/test/resources/application-test.yml +++ b/fim-adapter/src/test/resources/application-test.yml @@ -1,4 +1,4 @@ fim: schemeLocations: - - src/main/resources/fim-s17000652_1.4/S17000652V1.4_xfall.xsd - - src/test/resources/test2/test2.xsd \ No newline at end of file + - fim-s17000652_1.4/S17000652V1.4_xfall.xsd + - test2/test2.xsd \ No newline at end of file -- GitLab