package de.htwdd.classes;
import org.json.JSONArray;
import org.json.JSONObject;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.Vector;
import de.htwdd.types.Event;
public class HTWCalendar {
static String url = "https://www.htw-dresden.de/vtms/service/events";
public Event[] getEvents(short organizer, long startTime, long endTime)
{
try {
JSONObject object;
Event tmp;
Date date;
Date currentDate = new Date();
ArrayList<Event> arrayList = new ArrayList<Event>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
// Daten von HTW laden
HTTPDownloader downloader = new HTTPDownloader(url+"?organizer="+organizer);
downloader.urlParameters = "start="+startTime+"&end="+endTime;
// Result in JSON-Array speichern
JSONArray array = new JSONArray(downloader.getStringWithPost());
int count = array.length();
for (int i=0; i<count; i++)
{
// Hole JSON-Objekt
object = array.getJSONObject(i);
// Hole Start-Datum aus dem JSON-Objekt
date = dateFormat.parse(object.getString("start"));
// Liegt das Start-Datum vor dem heutigen Datum -> abbrechen
if (currentDate.after(date))
break;
// Event anlegen und Werte speichern
tmp = new Event();
tmp.datum = date;
tmp.Title = object.getString("title");
tmp.desc = object.getString("title_ext");
tmp.url = object.getString("url");
arrayList.add(tmp);
}
//Vektor umdrehen (jüngste Ereigenisse als erstes)
Collections.reverse(arrayList);
return arrayList.toArray(new Event[arrayList.size()]);
}
catch (Exception e)
{
Event[] events = new Event[1];
events[0] = new Event();
events[0].Title = "Keine Internetverbindung!";
return events;
}
}
}