info.bliki.api.XMLUserParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bliki-core Show documentation
Show all versions of bliki-core Show documentation
This is the core project.
The newest version!
package info.bliki.api;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
/**
* Reads User
data from an XML file generated by the Wikimedia API
*/
public class XMLUserParser extends AbstractXMLParser {
private static final String LOGIN_ID = "login";
private static final String RESULT_ID = "result";
private static final String USER_ID = "lguserid";
private static final String USER_NAME_ID = "lgusername";
private static final String LG_TOKEN_ID = "lgtoken";
private static final String TOKEN_ID = "token";
private User fUser;
public XMLUserParser(User user, String xmlText) throws SAXException {
super(xmlText);
fUser = user;
}
@Override
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) {
fAttributes = atts;
if (LOGIN_ID.equals(qName)) {
final String result = fAttributes.getValue(RESULT_ID);
fUser.setResult(result);
if (User.NEED_TOKEN_ID.equalsIgnoreCase(result)) {
fUser.setToken(fAttributes.getValue(TOKEN_ID));
} else {
fUser.setUserid(fAttributes.getValue(USER_ID));
fUser.setNormalizedUsername(fAttributes.getValue(USER_NAME_ID));
fUser.setToken(fAttributes.getValue(LG_TOKEN_ID));
}
}
fData = null;
}
@Override
public void endElement(String uri, String name, String qName) {
fData = null;
fAttributes = null;
}
}