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 d1bad439b0002ef1e3b2845234dcecdf363b983e..6a7ae7036e5d98a690b2b7573d89e8e120a60408 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 c52241b27c1372ce3e347313c23d3cf710766e15..1300ecebf1e79ceb73ec6d4a99104b8652368012 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 62a350e59592d16174ebee0bfd9d261b9f4e4942..148c1af75dbdac7d1dff1c5632d01cf06dae9a83 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