/** * Creates a new PreEvent for the specified Guild. * * @param _guildId The ID of the guild. */ public PreEvent(long _guildId) { guildId = _guildId; eventId = "N/a"; timeZone = "Unknown"; color = EventColor.NONE; recur = false; recurrence = new Recurrence(); eventData = new EventData(guildId); editing = false; lastEdit = System.currentTimeMillis(); }
public static PreEvent copyEvent(long guildId, Event event) { PreEvent pe = new PreEvent(guildId); pe.setSummary(event.getSummary()); pe.setDescription(event.getDescription()); pe.setLocation(event.getLocation()); if (event.getColorId() != null) pe.setColor(EventColor.fromNameOrHexOrID(event.getColorId())); else pe.setColor(EventColor.RED); pe.setEventData(DatabaseManager.getManager().getEventData(guildId, event.getId())); return pe; } }
/** * Checks whether or not the start date is after the end date of the event. * * @param startRaw The date to check in format (yyyy/MM/dd-HH:mm:ss). * @param timezone The timezone of the calendar this event is for. * @param event The event that is currently being created. * @return <code>true</code> of the start is after the end, otherwise <code>false</code>. */ public static boolean startAfterEnd(String startRaw, TimeZone timezone, PreEvent event) { if (event.getEndDateTime() != null) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss"); sdf.setTimeZone(timezone); Date startDate = sdf.parse(startRaw); Date endDate = new Date(event.getEndDateTime().getDateTime().getValue()); return startDate.after(endDate); } catch (ParseException e) { return true; } } return false; }
if (recur.getBoolean("recur")) { Recurrence recurrence = new Recurrence(); recurrence.setFrequency(EventFrequency.fromValue(recur.getString("frequency"))); recurrence.setCount(recur.getInt("count")); recurrence.setInterval(recur.getInt("interval")); String[] rr = new String[]{recurrence.toRRule()}; event.setRecurrence(Arrays.asList(rr)); EventData ed = new EventData(settings.getGuildID()); if (!body.getString("image").equalsIgnoreCase("")) { ed.setImageLink(body.getString("image")); ed.setEventId(eventId); ed.setEventEnd(event.getEnd().getDateTime().getValue()); if (!ImageUtils.validate(ed.getImageLink(), settings.isPatronGuild())) { JSONObject respondBody = new JSONObject(); respondBody.put("Message", "Failed to create event!"); if (ed.shouldBeSaved()) DatabaseManager.getManager().updateEventData(ed);
body.put("on_time", rsvp.getGoingOnTime()); body.put("late", rsvp.getGoingLate()); body.put("undecided", rsvp.getUndecided()); body.put("not_going", rsvp.getNotGoing());
public EventData getEventData(long guildId, String eventId) { EventData data = new EventData(guildId); if (eventId.contains("_")) eventId = eventId.split("_")[0]; data.setEventId(eventId); try { if (databaseInfo.getMySQL().checkConnection()) { String eventTableName = String.format("%sevents", databaseInfo.getPrefix()); String query = "SELECT * FROM " + eventTableName + " WHERE GUILD_ID= ?"; PreparedStatement statement = databaseInfo.getConnection().prepareStatement(query); statement.setString(1, guildId + ""); ResultSet res = statement.executeQuery(); while (res.next()) { if (res.getString("EVENT_ID").equals(eventId)) { data.setEventEnd(res.getLong("EVENT_END")); data.setImageLink(res.getString("IMAGE_LINK")); break; } } statement.close(); } } catch (SQLException e) { Logger.getLogger().exception(null, "Failed to get event data", e, this.getClass()); } return data; }
String eventTableName = String.format("%sevents", databaseInfo.getPrefix()); if (data.getEventId().contains("_")) { data.setEventId(data.getEventId().split("_")[0]); statement.setString(1, data.getEventId()); " VALUES (?, ?, ?, ?)"; PreparedStatement ps = databaseInfo.getConnection().prepareStatement(insertCommand); ps.setString(1, String.valueOf(data.getGuildId())); ps.setString(2, data.getEventId()); ps.setLong(3, data.getEventEnd()); ps.setString(4, data.getImageLink()); PreparedStatement ps = databaseInfo.getConnection().prepareStatement(update); ps.setString(1, data.getImageLink()); ps.setLong(2, data.getEventEnd()); ps.setString(3, data.getEventId());
public RsvpData getRsvpData(long guildId, String eventId) { RsvpData data = new RsvpData(guildId); data.setEventId(eventId); try { if (databaseInfo.getMySQL().checkConnection()) { String rsvpTableName = String.format("%srsvp", databaseInfo.getPrefix()); String query = "SELECT * FROM " + rsvpTableName + " WHERE GUILD_ID= ?"; PreparedStatement statement = databaseInfo.getConnection().prepareStatement(query); statement.setString(1, guildId + ""); ResultSet res = statement.executeQuery(); while (res.next()) { if (res.getString("EVENT_ID").equals(eventId)) { data.setEventEnd(res.getLong("EVENT_END")); data.setGoingOnTimeFromString(res.getString("GOING_ON_TIME")); data.setGoingLateFromString(res.getString("GOING_LATE")); data.setNotGoingFromString(res.getString("NOT_GOING")); data.setUndecidedFromString(res.getString("UNDECIDED")); break; } } statement.close(); } } catch (SQLException e) { Logger.getLogger().exception(null, "Failed to get RSVP data for event", e, this.getClass()); } return data; }
recurrence = new Recurrence(); recurrence.fromRRule(e.getRecurrence().get(0));
statement.setString(1, data.getEventId()); " VALUES (?, ?, ?, ?, ?, ?, ?)"; PreparedStatement ps = databaseInfo.getConnection().prepareStatement(insertCommand); ps.setString(1, String.valueOf(data.getGuildId())); ps.setString(2, data.getEventId()); ps.setLong(3, data.getEventEnd()); ps.setString(4, data.getGoingOnTimeString()); ps.setString(5, data.getGoingLateString()); ps.setString(6, data.getNotGoingString()); ps.setString(7, data.getUndecidedString()); PreparedStatement ps = databaseInfo.getConnection().prepareStatement(update); ps.setLong(1, data.getEventEnd()); ps.setString(2, data.getGoingOnTimeString()); ps.setString(3, data.getGoingLateString()); ps.setString(4, data.getNotGoingString()); ps.setString(5, data.getUndecidedString()); ps.setString(6, data.getEventId());
/** * Checks whether or not the end date is before the start date of the event. * * @param endRaw The date to check in format (yyyy/MM/dd-HH:mm:ss). * @param timezone The timezone of the calendar this event is for. * @param event The event that is currently being created. * @return <code>true</code> if the end is before the start, otherwise <code>false</code>. */ public static boolean endBeforeStart(String endRaw, TimeZone timezone, PreEvent event) { if (event.getStartDateTime() != null) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss"); sdf.setTimeZone(timezone); Date endDate = sdf.parse(endRaw); Date startDate = new Date(event.getStartDateTime().getDateTime().getValue()); return endDate.before(startDate); } catch (ParseException e) { return true; } } return false; }
if (recur.getBoolean("recur")) { Recurrence recurrence = new Recurrence(); recurrence.setFrequency(EventFrequency.fromValue(recur.getString("frequency"))); recurrence.setCount(recur.getInt("count")); recurrence.setInterval(recur.getInt("interval")); String[] rr = new String[]{recurrence.toRRule()}; event.setRecurrence(Arrays.asList(rr)); EventData ed = new EventData(settings.getGuildID()); if (!body.getString("image").equalsIgnoreCase("")) { ed.setImageLink(body.getString("image")); ed.setEventId(eventId); ed.setEventEnd(event.getEnd().getDateTime().getValue()); if (!ImageUtils.validate(ed.getImageLink(), settings.isPatronGuild())) { JSONObject respondBody = new JSONObject(); respondBody.put("Message", "Failed to create event!"); if (ed.shouldBeSaved()) DatabaseManager.getManager().updateEventData(ed);
body.put("on_time", rsvp.getGoingOnTime()); body.put("late", rsvp.getGoingLate()); body.put("undecided", rsvp.getUndecided()); body.put("not_going", rsvp.getNotGoing());
public ArrayList<EventData> getAllEventData() { ArrayList<EventData> allData = new ArrayList<>(); try { if (databaseInfo.getMySQL().checkConnection()) { String eventTableName = String.format("%sevents", databaseInfo.getPrefix()); PreparedStatement stmt = databaseInfo.getConnection().prepareStatement("SELECT * FROM " + eventTableName); ResultSet res = stmt.executeQuery(); while (res.next()) { if (res.getString("EVENT_ID") != null) { EventData data = new EventData(Long.valueOf(res.getString("GUILD_ID"))); data.setEventId(res.getString("EVENT_ID")); data.setEventEnd(res.getLong("EVENT_END")); data.setImageLink(res.getString("IMAGE_LINK")); allData.add(data); } } stmt.close(); } } catch (SQLException e) { Logger.getLogger().exception(null, "Failed to get all event data", e, this.getClass()); } return allData; }
public ArrayList<RsvpData> getAllRsvpData() { ArrayList<RsvpData> dataList = new ArrayList<>(); try { if (databaseInfo.getMySQL().checkConnection()) { String rsvpTableName = String.format("%srsvp", databaseInfo.getPrefix()); PreparedStatement stmt = databaseInfo.getConnection().prepareStatement("SELECT * FROM " + rsvpTableName); ResultSet res = stmt.executeQuery(); while (res.next()) { if (res.getString("GUILD_ID") != null) { RsvpData data = new RsvpData(Long.valueOf(res.getString("GUILD_ID"))); data.setEventId(res.getString("EVENT_ID")); data.setEventEnd(res.getLong("EVENT_END")); data.setGoingOnTimeFromString(res.getString("GOING_ON_TIME")); data.setGoingLateFromString(res.getString("GOING_LATE")); data.setNotGoingFromString(res.getString("NOT_GOING")); data.setUndecidedFromString(res.getString("UNDECIDED")); dataList.add(data); } } stmt.close(); } } catch (SQLException e) { Logger.getLogger().exception(null, "Failed to get all RSVP Data!", e, this.getClass()); } return dataList; }
if (recur.getBoolean("recur")) { Recurrence recurrence = new Recurrence(); recurrence.setFrequency(EventFrequency.fromValue(recur.getString("frequency"))); recurrence.setCount(recur.getInt("count")); recurrence.setInterval(recur.getInt("interval")); String[] rr = new String[]{recurrence.toRRule()}; event.setRecurrence(Arrays.asList(rr)); EventData ed = new EventData(settings.getGuildID()); if (!body.getString("image").equalsIgnoreCase("")) { ed.setImageLink(body.getString("image")); ed.setEventId(eventId); ed.setEventEnd(event.getEnd().getDateTime().getValue()); if (!ImageUtils.validate(ed.getImageLink(), settings.isPatronGuild())) { JSONObject respondBody = new JSONObject(); respondBody.put("Message", "Failed to create event!"); if (ed.shouldBeSaved()) DatabaseManager.getManager().updateEventData(ed);
body.put("on_time", rsvp.getGoingOnTime()); body.put("late", rsvp.getGoingLate()); body.put("undecided", rsvp.getUndecided()); body.put("not_going", rsvp.getNotGoing());
rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("on_time").length(); i++) { String s = jsonMain.getJSONArray("on_time").getString(i); rsvp.getGoingOnTime().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("late").length(); i++) { String s = jsonMain.getJSONArray("late").getString(i); rsvp.getGoingLate().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("undecided").length(); i++) { String s = jsonMain.getJSONArray("undecided").getString(i); rsvp.getUndecided().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("not_going").length(); i++) { String s = jsonMain.getJSONArray("not_going").getString(i); rsvp.getNotGoing().add(s);
rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("on_time").length(); i++) { String s = jsonMain.getJSONArray("on_time").getString(i); rsvp.getGoingOnTime().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("late").length(); i++) { String s = jsonMain.getJSONArray("late").getString(i); rsvp.getGoingLate().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("undecided").length(); i++) { String s = jsonMain.getJSONArray("undecided").getString(i); rsvp.getUndecided().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("not_going").length(); i++) { String s = jsonMain.getJSONArray("not_going").getString(i); rsvp.getNotGoing().add(s);
rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("on_time").length(); i++) { String s = jsonMain.getJSONArray("on_time").getString(i); rsvp.getGoingOnTime().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("late").length(); i++) { String s = jsonMain.getJSONArray("late").getString(i); rsvp.getGoingLate().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("undecided").length(); i++) { String s = jsonMain.getJSONArray("undecided").getString(i); rsvp.getUndecided().add(s); rsvp.getGoingOnTime().clear(); for (int i = 0; i < jsonMain.getJSONArray("not_going").length(); i++) { String s = jsonMain.getJSONArray("not_going").getString(i); rsvp.getNotGoing().add(s);