From 83b739737e02b093b0888f1a4d3f71418ab3e3b9 Mon Sep 17 00:00:00 2001 From: Doug Keen Date: Fri, 28 Oct 2016 07:05:40 -0700 Subject: [PATCH] Use new fare API format --- .../bart/networktasks/FareContentHandler.java | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/dougkeen/bart/networktasks/FareContentHandler.java b/app/src/main/java/com/dougkeen/bart/networktasks/FareContentHandler.java index ba2c6be..285ded1 100644 --- a/app/src/main/java/com/dougkeen/bart/networktasks/FareContentHandler.java +++ b/app/src/main/java/com/dougkeen/bart/networktasks/FareContentHandler.java @@ -4,43 +4,31 @@ import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; +import java.util.HashMap; +import java.util.Map; + public class FareContentHandler extends DefaultHandler { public FareContentHandler() { super(); } - private String currentValue; - private boolean isParsingTag; private String fare; public String getFare() { return fare; } - @Override - public void characters(char[] ch, int start, int length) - throws SAXException { - if (isParsingTag) { - currentValue = new String(ch, start, length); - } - } - @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if (localName.equals("fare")) { - isParsingTag = true; + Map attributeMap = new HashMap<>(); + for (int i = attributes.getLength() - 1; i >= 0; i--) { + attributeMap.put(attributes.getLocalName(i), attributes.getValue(i)); + } + if (attributeMap.containsKey("class") && attributeMap.get("class").equals("cash")) { + fare = "$" + attributeMap.get("amount"); + } } } - - @Override - public void endElement(String uri, String localName, String qName) - throws SAXException { - if (localName.equals("fare") && currentValue != null) { - fare = "$" + currentValue; - } - isParsingTag = false; - currentValue = null; - } - }