From 6cc22c21a8c69f44737e28d8843e68999ed4b3dc Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Thu, 2 Mar 2017 15:00:35 +0100 Subject: [PATCH] [New] Added StrolchXmlParser to quickly parse from a file --- .../strolch/model/xml/StrolchXmlParser.java | 28 +++++++++++++++++++ .../model/xml/XmlModelSaxFileReader.java | 10 +++---- 2 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 li.strolch.model/src/main/java/li/strolch/model/xml/StrolchXmlParser.java diff --git a/li.strolch.model/src/main/java/li/strolch/model/xml/StrolchXmlParser.java b/li.strolch.model/src/main/java/li/strolch/model/xml/StrolchXmlParser.java new file mode 100644 index 000000000..9066ce178 --- /dev/null +++ b/li.strolch.model/src/main/java/li/strolch/model/xml/StrolchXmlParser.java @@ -0,0 +1,28 @@ +package li.strolch.model.xml; + +import java.io.File; + +import li.strolch.model.Order; +import li.strolch.model.Resource; +import li.strolch.model.activity.Activity; + +public class StrolchXmlParser { + + public static Resource parseAndReturnResource(File file, String id) { + SimpleStrolchElementListener elementListener = new SimpleStrolchElementListener(); + new XmlModelSaxFileReader(elementListener, file, false).parseFile(); + return elementListener.getResource(id); + } + + public static Order parseAndReturnOrder(File file, String id) { + SimpleStrolchElementListener elementListener = new SimpleStrolchElementListener(); + new XmlModelSaxFileReader(elementListener, file, false).parseFile(); + return elementListener.getOrder(id); + } + + public static Activity parseAndReturnActivity(File file, String id) { + SimpleStrolchElementListener elementListener = new SimpleStrolchElementListener(); + new XmlModelSaxFileReader(elementListener, file, false).parseFile(); + return elementListener.getActivity(id); + } +} diff --git a/li.strolch.model/src/main/java/li/strolch/model/xml/XmlModelSaxFileReader.java b/li.strolch.model/src/main/java/li/strolch/model/xml/XmlModelSaxFileReader.java index 4dc507655..891daf381 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/xml/XmlModelSaxFileReader.java +++ b/li.strolch.model/src/main/java/li/strolch/model/xml/XmlModelSaxFileReader.java @@ -22,13 +22,13 @@ import java.util.Date; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; + import li.strolch.exception.StrolchException; import li.strolch.model.Tags; import li.strolch.utils.helper.StringHelper; -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; - /** * @author Robert von Burg */ @@ -62,8 +62,8 @@ public class XmlModelSaxFileReader extends XmlModelSaxReader { String includeFileS = attributes.getValue(Tags.FILE); if (StringHelper.isEmpty(includeFileS)) { - throw new IllegalArgumentException(MessageFormat.format( - "The attribute {0} is missing for IncludeFile!", Tags.FILE)); //$NON-NLS-1$ + throw new IllegalArgumentException( + MessageFormat.format("The attribute {0} is missing for IncludeFile!", Tags.FILE)); //$NON-NLS-1$ } File includeFile = new File(this.modelFile.getParentFile(), includeFileS);