From abb54090aa5173f9822802e23b510862d93889b2 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Wed, 5 Apr 2023 10:28:55 +0200 Subject: Issue #19: Integration des ATC-Codes-Plugins in dieses Plugin closes #19 --- .../java/ATCCodes/services/WhoAtcCodeService.java | 72 ---------------------- 1 file changed, 72 deletions(-) delete mode 100644 src/main/java/ATCCodes/services/WhoAtcCodeService.java (limited to 'src/main/java/ATCCodes/services/WhoAtcCodeService.java') 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 parseFile(final ResourceLoader resourceLoader) { - var result = new ArrayList(); - 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 rows; - } - - private static class XmlRow { - @XmlAttribute(name = "ATCCode") - public String code; - - @XmlAttribute(name = "Name") - public String name; - } -} \ No newline at end of file -- cgit v1.2.3