src/org/gege/caldavsyncadapter/caldav/xml/MultiStatusHandler.java

Tue, 10 Feb 2015 18:12:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 10 Feb 2015 18:12:00 +0100
changeset 0
fb9019fb1bf7
permissions
-rw-r--r--

Import initial revisions of existing project AndroidCaldavSyncAdapater,
forked from upstream repository at 27e8a0f8495c92e0780d450bdf0c7cec77a03a55.

     1 package org.gege.caldavsyncadapter.caldav.xml;
     3 import org.gege.caldavsyncadapter.caldav.xml.sax.MultiStatus;
     4 import org.gege.caldavsyncadapter.caldav.xml.sax.Prop;
     5 import org.gege.caldavsyncadapter.caldav.xml.sax.PropStat;
     6 import org.gege.caldavsyncadapter.caldav.xml.sax.Response;
     7 import org.xml.sax.Attributes;
     8 import org.xml.sax.SAXException;
     9 import org.xml.sax.helpers.DefaultHandler;
    12 public class MultiStatusHandler extends DefaultHandler {
    13 	public MultiStatus mMultiStatus;
    14 	private Response mResponse;
    15 	private PropStat mPropStat;
    16 	private Prop mProp;
    17 	private String mCurrentValue;
    19 	private String RESPONSE = "response";
    20 	private String HREF = "href";
    21 	private String PROPSTAT = "propstat";
    22 	private String PROP = "prop";
    23 	private String STATUS = "status";
    24 	private String CALENDARDATA = "calendar-data";
    25 	private String GETETAG = "getetag";
    27 	public MultiStatusHandler() {
    28 		mMultiStatus = new MultiStatus();
    29 	}
    31 	@Override
    32 	public void characters(char[] ch, int start, int length) throws SAXException {
    33 		mCurrentValue += new String(ch, start, length);
    34 	}
    36 	@Override
    37 	public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
    38 		mCurrentValue = "";
    39 		if (localName.equals(RESPONSE)) {
    40 			mResponse = new Response();
    41 			mMultiStatus.ResponseList.add(mResponse);
    42 		} else if (localName.equals(PROPSTAT)) {
    43 			mPropStat = new PropStat();
    44 			mResponse.propstat = mPropStat;
    45 		} else if (localName.equals(PROP)) {
    46 			mProp = new Prop();
    47 			mPropStat.prop = mProp;
    48 		}
    49 	}
    51 	@Override
    52 	public void endElement(String uri, String localName, String qName) throws SAXException {
    53 		if (localName.equals(HREF)) {
    54 			mResponse.href = mCurrentValue;
    55 		} else if (localName.equals(STATUS)) {
    56 			if (mPropStat != null)
    57 				mPropStat.status = mCurrentValue;
    58 		} else if (localName.equals(CALENDARDATA)) {
    59 			mProp.calendardata = mCurrentValue;
    60 		} else if (localName.equals(GETETAG)) {
    61 			mProp.getetag = mCurrentValue;
    62 		}
    63 	}
    64 }

mercurial