summaryrefslogtreecommitdiff
path: root/src/main/java/ATCCodes/services/WhoAtcCodeService.java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-04-05 10:28:55 +0200
committerPaul-Christian Volkmer2023-04-05 10:52:26 +0200
commitabb54090aa5173f9822802e23b510862d93889b2 (patch)
tree7ef8df0339fab98115271a1e8e43f183dee7ae0f /src/main/java/ATCCodes/services/WhoAtcCodeService.java
parenta47d6279cfd6a45acb570b4b398d0f712eef9313 (diff)
Issue #19: Integration des ATC-Codes-Plugins in dieses Plugin
closes #19
Diffstat (limited to 'src/main/java/ATCCodes/services/WhoAtcCodeService.java')
-rw-r--r--src/main/java/ATCCodes/services/WhoAtcCodeService.java72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/main/java/ATCCodes/services/WhoAtcCodeService.java b/src/main/java/ATCCodes/services/WhoAtcCodeService.java
deleted file mode 100644
index 5bb9b11..0000000
--- a/src/main/java/ATCCodes/services/WhoAtcCodeService.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package ATCCodes.services;
-
-import ATCCodes.AgentCode;
-import ATCCodes.AtcCode;
-import ATCCodes.FileParsingException;
-import org.springframework.core.io.ResourceLoader;
-import org.springframework.stereotype.Service;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Service to query for agent codes based on WHO xml file
- *
- * @author Paul-Christian Volkmer
- * @since 0.1.0
- */
-@Service
-public class WhoAtcCodeService extends FileBasedAgentCodeService {
-
- public WhoAtcCodeService(final ResourceLoader resourceLoader) {
- super(resourceLoader);
- }
-
- protected List<AgentCode> parseFile(final ResourceLoader resourceLoader) {
- var result = new ArrayList<AgentCode>();
- var filename = getFilePath("atc.xml");
- try {
- var inputStream = resourceLoader.getResource(filename).getInputStream();
- var context = JAXBContext.newInstance(XmlResource.class);
- var xmlResource = (XmlResource) context.createUnmarshaller().unmarshal(inputStream);
- for (var row : xmlResource.data.rows) {
- if (null == row.code || null == row.name) {
- throw new FileParsingException("No XML attribute 'ATCCode' or 'Name' found");
- }
- result.add(new AtcCode(row.code, row.name));
- }
- logger.info("Found WHO XML file for ATC-Codes.");
- return result;
- } catch (IOException e) {
- logger.warn("Error reading WHO XML file '{}' for ATC-Codes. Proceeding without inserting data", filename);
- } catch (JAXBException | FileParsingException e) {
- logger.warn("Error parsing WHO XML file '{}' for ATC-Codes. Proceeding without inserting data", filename);
- }
- return result;
- }
-
- @XmlRootElement(name = "xml")
- private static class XmlResource {
- @XmlElement(name = "data", namespace = "urn:schemas-microsoft-com:rowset")
- public XmlData data;
- }
-
- private static class XmlData {
- @XmlElement(name = "row", namespace = "#RowsetSchema")
- public List<XmlRow> rows;
- }
-
- private static class XmlRow {
- @XmlAttribute(name = "ATCCode")
- public String code;
-
- @XmlAttribute(name = "Name")
- public String name;
- }
-} \ No newline at end of file