package jtweet.web;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.SAXException;
public class Twitpic {
protected String mediaid = null;
protected int errcode = 0;
protected String errmsg = null;
public Twitpic(byte[] resp)
{
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder dombuilder = domfac.newDocumentBuilder();
ByteArrayInputStream bis = new ByteArrayInputStream(resp);
Document doc = dombuilder.parse(bis);
Element root = doc.getDocumentElement();
String rsp = root.getAttribute("status");
if(rsp.equalsIgnoreCase("ok"))
{
if(root.getElementsByTagName("mediaid").getLength() > 0)
{
mediaid = root.getElementsByTagName("mediaid").item(0).getTextContent();
}
else
{
errcode = -1;
errmsg = "Other Error.";
}
}
else
{
if(root.getElementsByTagName("err").getLength() > 0)
{
Node errnode = root.getElementsByTagName("err").item(0);
errcode = Integer.parseInt(errnode.getAttributes().getNamedItem("code").getNodeValue());
errmsg = errnode.getAttributes().getNamedItem("msg").getNodeValue();
}
else
{
errcode = -1;
errmsg = "Other Error.";
}
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
errcode = -1;
errmsg = "Other Error.";
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
errcode = -1;
errmsg = "Other Error.";
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
errcode = -1;
errmsg = "Other Error.";
e.printStackTrace();
}
}
public String getMediaid()
{
return mediaid;
}
public int getErrcode()
{
return errcode;
}
public String getErrmsg()
{
return errmsg;
}
public boolean isok()
{
if(errcode == 0) return true;
else return false;
}
}