/**
*
*/
package fr.cedrik.inotes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Cédrik LIME
*/
class MeetingNoticeJSONConverter {
protected static final Logger logger = LoggerFactory.getLogger(MeetingNoticeJSONConverter.class);
public MeetingNoticeJSONConverter() {
}
// public Calendar convertJSON(InputStream input, Charset charset) throws IOException {
// Map<String, JSONObject> map = new HashMap<String, JSONObject>();
// try {
// String responseBody = IOUtils.toString(input, charset);
// logger.trace(responseBody);
// // strip excess JavaScript
// responseBody = responseBody.substring(responseBody.indexOf("DXX: ({") + "DXX: (".length(), responseBody.lastIndexOf(").item}"));
// responseBody = RE.matcher(responseBody).replaceAll(">"); // responseBody.replace("\\>", ">");
// JSONObject json = new JSONObject(responseBody);
// responseBody = null;
// // Convert JSON to Map
// JSONArray jsonArray = json.getJSONArray("item");
// for (int i = 0; i < jsonArray.length(); ++i) {
// JSONObject obj = jsonArray.getJSONObject(i);
// map.put(obj.getString("@name"), obj);
// }
// } catch (JSONException e) {
// IOException ioe = new StreamCorruptedException();
// ioe.initCause(e);
// throw ioe;
// }
// Calendar ics = createCalendar(map);
// return ics;
// }
// private static final Pattern RE = Pattern.compile("\\>", Pattern.LITERAL);
//
// protected Calendar createCalendar(Map<String, JSONObject> json) {
// Calendar calendar = new Calendar();
// calendar.getProperties().add(new ProdId("-//Ben Fortuna//iCal4j 1.0//EN"));
// calendar.getProperties().add(Version.VERSION_2_0);
// calendar.getProperties().add(CalScale.GREGORIAN);
// //TODO add events, etc..
// TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
// TimeZone timezone = registry.getTimeZone("Australia/Melbourne");
// java.util.Calendar cal = java.util.Calendar.getInstance(timezone);
// cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER);
// cal.set(java.util.Calendar.DAY_OF_MONTH, 25);
// DateTime dt = new DateTime(cal.getTime());
// dt.setTimeZone(timezone);
// VEvent christmas = new VEvent(dt, "Christmas Day");
// // initialise as an all-day event..
// christmas.getProperties().getProperty(Property.DTSTART).getParameters().add(Value.DATE);
// calendar.getComponents().add(christmas);
//
// calendar.getComponents().trimToSize();
// try {
// calendar.validate();
// } catch (ValidationException e) {
// throw new IllegalStateException(e);
// }
//
// if (logger.isTraceEnabled()) {
// try {
// CalendarOutputter outputter = new CalendarOutputter();
// StringWriter out = new StringWriter(64);
// outputter.output(calendar, out);
// logger.trace(out.toString());
// } catch (Exception e) {
// logger.error("", e);
// }
// }
//
// return calendar;
// }
}