package net.brightkite4j.brightkite.utils; import java.beans.IntrospectionException; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import org.apache.commons.betwixt.io.BeanReader; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.ISODateTimeFormat; import org.xml.sax.SAXException; public class BrightkiteUtils { //2008-07-10T20:08:35Z public final static DateTimeFormatter STD_DATE_TIME_FORMATTER = ISODateTimeFormat.dateTimeParser(); public final static DateTime parseDateTimeFromString(String dateTimeString) { try { if (dateTimeString == null) { return null; } return STD_DATE_TIME_FORMATTER.parseDateTime(dateTimeString); } catch (IllegalArgumentException e) { System.err.println(String.format("Could not parse date string '%s'", dateTimeString)); return null; } } public final static Object fromXML(String xml, BeanReader beanReader) throws IntrospectionException, IOException, SAXException { InputStream blockXML = new ByteArrayInputStream(xml.getBytes()); Object bean = beanReader.parse(blockXML); return bean; } @SuppressWarnings("unchecked") public final static Object fromXML(String xml, Class clazz) throws IntrospectionException, IOException, SAXException { InputStream blockXML = new ByteArrayInputStream(xml.getBytes()); BeanReader beanReader = new BeanReader(); beanReader.registerBeanClass(clazz); Object bean = beanReader.parse(blockXML); return bean; } public final static int booleanToInt(boolean b) { return (b ? 1 : 0); } }