From eaa34f033f2248a8b7640a23a8a0876eb2c79055 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 11 Sep 2012 17:18:11 +0200 Subject: transfer --- .../de/unifr/rz/infoscreen/IcsEventProvider.java | 7 +-- src/main/java/de/unifr/rz/infoscreen/Index.java | 19 +++++-- .../rz/infoscreen/component/AbstractCalendar.java | 12 ++--- .../rz/infoscreen/component/CalendarContainer.java | 14 ++++++ .../component/CalendarViewCarrousel.java | 58 ++++++++++++++++++++++ .../rz/infoscreen/component/EventCalendar.java | 25 ++++++++++ .../rz/infoscreen/component/CalendarContainer.html | 11 ++++ .../component/CalendarViewCarrousel.html | 13 +++++ .../rz/infoscreen/component/EventCalendar.html | 11 ++++ 9 files changed, 156 insertions(+), 14 deletions(-) create mode 100644 src/main/java/de/unifr/rz/infoscreen/component/CalendarContainer.java create mode 100644 src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java create mode 100644 src/main/java/de/unifr/rz/infoscreen/component/EventCalendar.java create mode 100644 src/main/resources/de/unifr/rz/infoscreen/component/CalendarContainer.html create mode 100644 src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html create mode 100644 src/main/resources/de/unifr/rz/infoscreen/component/EventCalendar.html diff --git a/src/main/java/de/unifr/rz/infoscreen/IcsEventProvider.java b/src/main/java/de/unifr/rz/infoscreen/IcsEventProvider.java index 6615227..3156a54 100644 --- a/src/main/java/de/unifr/rz/infoscreen/IcsEventProvider.java +++ b/src/main/java/de/unifr/rz/infoscreen/IcsEventProvider.java @@ -1,14 +1,11 @@ package de.unifr.rz.infoscreen; -import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; -import org.joda.time.DateTime; - import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.filter.Filter; import net.fortuna.ical4j.filter.PeriodRule; @@ -22,6 +19,8 @@ import net.ftlines.wicket.fullcalendar.Event; import net.ftlines.wicket.fullcalendar.EventNotFoundException; import net.ftlines.wicket.fullcalendar.EventProvider; +import org.joda.time.DateTime; + public class IcsEventProvider implements EventProvider { private static final long serialVersionUID = 1L; @@ -61,7 +60,6 @@ public class IcsEventProvider implements EventProvider { rules.add(new PeriodRule(period)); Filter filter = new Filter(rules.toArray(new Rule[rules.size()]), Filter.MATCH_ALL); - @SuppressWarnings("unchecked") Collection c = filter.filter(calendar.getComponents(Component.VEVENT)); @@ -75,7 +73,6 @@ public class IcsEventProvider implements EventProvider { e.setStart(new DateTime(event.getStartDate().getDate())); e.setEnd(new DateTime(event.getEndDate().getDate())); e.setTitle(event.getSummary().getValue()); -// System.out.println(event.toString()); events.add(e); } diff --git a/src/main/java/de/unifr/rz/infoscreen/Index.java b/src/main/java/de/unifr/rz/infoscreen/Index.java index e4bfe70..670badc 100644 --- a/src/main/java/de/unifr/rz/infoscreen/Index.java +++ b/src/main/java/de/unifr/rz/infoscreen/Index.java @@ -5,13 +5,16 @@ import nu.xss.web.wicket.component.bootstrap.BrandLabel; import nu.xss.web.wicket.component.bootstrap.Navbar; import nu.xss.web.wicket.page.SimpleBootstrapPage; +import org.apache.wicket.ajax.AjaxSelfUpdatingTimerBehavior; import org.apache.wicket.markup.head.CssHeaderItem; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem; +import org.apache.wicket.markup.html.panel.Panel; +import org.apache.wicket.util.time.Duration; +import de.unifr.rz.infoscreen.component.CalendarContainer; +import de.unifr.rz.infoscreen.component.CalendarViewCarrousel; import de.unifr.rz.infoscreen.component.NavbarDateTime; -import de.unifr.rz.infoscreen.component.WeekCalendar; -import de.unifr.rz.infoscreen.component.DayCalendar; public class Index extends SimpleBootstrapPage { @@ -29,8 +32,18 @@ public class Index extends SimpleBootstrapPage { setPageTitle("Infoscreen"); setPageSubTitle("Videokonferenzraum"); - setMainContent(new WeekCalendar("content", new IcsEventProvider("http://www.verwaltung.uni-freiburg.de/lsfserver/rds?state=verpublish&status=transform&vmfile=no&termine=165887,165887,192598,192599,200957&moduleCall=iCalendarPlan&publishConfFile=reports&publishSubDir=veranstaltung"))); + //setMainContent(new WeekCalendar("content", new IcsEventProvider("http://www.verwaltung.uni-freiburg.de/lsfserver/rds?state=verpublish&status=transform&vmfile=no&termine=165887,165887,192598,192599,200957&moduleCall=iCalendarPlan&publishConfFile=reports&publishSubDir=veranstaltung"))); + Panel container = new CalendarContainer("content"); + container.add( + new CalendarViewCarrousel( + "calendarContainer", + new IcsEventProvider( + "http://www.verwaltung.uni-freiburg.de/lsfserver/rds?state=verpublish&status=transform&vmfile=no&termine=165887,165887,192598,192599,200957&moduleCall=iCalendarPlan&publishConfFile=reports&publishSubDir=veranstaltung" + )).add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(10))) + ); + + setMainContent(container); } @Override diff --git a/src/main/java/de/unifr/rz/infoscreen/component/AbstractCalendar.java b/src/main/java/de/unifr/rz/infoscreen/component/AbstractCalendar.java index c85c28e..f41999c 100644 --- a/src/main/java/de/unifr/rz/infoscreen/component/AbstractCalendar.java +++ b/src/main/java/de/unifr/rz/infoscreen/component/AbstractCalendar.java @@ -13,7 +13,7 @@ import org.joda.time.LocalTime; public abstract class AbstractCalendar extends Panel { private static final long serialVersionUID = 1L; - private EventProvider ep; + private EventProvider eventProvider; private Config calendarConfig = new Config(); protected static enum ViewType { @@ -24,7 +24,7 @@ public abstract class AbstractCalendar extends Panel { public AbstractCalendar(String id, EventProvider ep, ViewType vt) { super(id); - this.setEp(ep); + this.setEventProvider(ep); setActiveView(vt); @@ -78,12 +78,12 @@ public abstract class AbstractCalendar extends Panel { public void updateConfig(Config cfg) {}; - public EventProvider getEp() { - return ep; + public EventProvider getEventProvider() { + return eventProvider; } - public void setEp(EventProvider ep) { - this.ep = ep; + public void setEventProvider(EventProvider ep) { + this.eventProvider = ep; } public Config getCalendarConfig() { diff --git a/src/main/java/de/unifr/rz/infoscreen/component/CalendarContainer.java b/src/main/java/de/unifr/rz/infoscreen/component/CalendarContainer.java new file mode 100644 index 0000000..4715f77 --- /dev/null +++ b/src/main/java/de/unifr/rz/infoscreen/component/CalendarContainer.java @@ -0,0 +1,14 @@ +package de.unifr.rz.infoscreen.component; + +import org.apache.wicket.markup.html.panel.Panel; + +public class CalendarContainer extends Panel { + + private static final long serialVersionUID = 1L; + + public CalendarContainer(String id) { + super(id); + // TODO Auto-generated constructor stub + } + +} diff --git a/src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java b/src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java new file mode 100644 index 0000000..8c8cd08 --- /dev/null +++ b/src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java @@ -0,0 +1,58 @@ +package de.unifr.rz.infoscreen.component; + +import java.util.Calendar; + +import net.ftlines.wicket.fullcalendar.EventProvider; + +import org.apache.wicket.AttributeModifier; +import org.apache.wicket.markup.html.panel.Panel; + +public class CalendarViewCarrousel extends Panel { + + private static final long serialVersionUID = 1L; + + private EventProvider eventProvider; + + private Panel weekView; + private Panel dayView; + private Panel eventView; + + public CalendarViewCarrousel(String id, EventProvider ep) { + super(id); + setEventProvider(ep); + setOutputMarkupId(true); + + weekView = new WeekCalendar("cal_week", getEventProvider()); + dayView = new DayCalendar("cal_day", getEventProvider()); + eventView = new EventCalendar("cal_event", getEventProvider()); + + add(weekView); + add(dayView); + add(eventView); + + Calendar cal = Calendar.getInstance(); + + if ((int)(cal.get(Calendar.SECOND) / 20) == 0) { + weekView.add(new AttributeModifier("style", "hidden:false;")); + dayView.add(new AttributeModifier("style", "hidden:true;")); + eventView.add(new AttributeModifier("style", "hidden:true;")); + } else if ((int)(cal.get(Calendar.SECOND) / 20) == 1) { + weekView.add(new AttributeModifier("style", "hidden:true;")); + dayView.add(new AttributeModifier("style", "hidden:false;")); + eventView.add(new AttributeModifier("style", "hidden:true;")); + } else { + weekView.add(new AttributeModifier("style", "hidden:true;")); + dayView.add(new AttributeModifier("style", "hidden:true;")); + eventView.add(new AttributeModifier("style", "hidden:false;")); + } + } + + public EventProvider getEventProvider() { + return eventProvider; + } + + public void setEventProvider(EventProvider eventProvider) { + this.eventProvider = eventProvider; + } + +} diff --git a/src/main/java/de/unifr/rz/infoscreen/component/EventCalendar.java b/src/main/java/de/unifr/rz/infoscreen/component/EventCalendar.java new file mode 100644 index 0000000..a9fa77f --- /dev/null +++ b/src/main/java/de/unifr/rz/infoscreen/component/EventCalendar.java @@ -0,0 +1,25 @@ +package de.unifr.rz.infoscreen.component; + +import net.ftlines.wicket.fullcalendar.EventProvider; + +import org.apache.wicket.markup.html.panel.Panel; + +public class EventCalendar extends Panel { + + private static final long serialVersionUID = 1L; + private EventProvider eventProvider; + + public EventCalendar(String id, EventProvider ep) { + super(id); + setEventProvider(ep); + } + + public EventProvider getEventProvider() { + return eventProvider; + } + + public void setEventProvider(EventProvider eventProvider) { + this.eventProvider = eventProvider; + } + +} diff --git a/src/main/resources/de/unifr/rz/infoscreen/component/CalendarContainer.html b/src/main/resources/de/unifr/rz/infoscreen/component/CalendarContainer.html new file mode 100644 index 0000000..9733c83 --- /dev/null +++ b/src/main/resources/de/unifr/rz/infoscreen/component/CalendarContainer.html @@ -0,0 +1,11 @@ + + + +CalendarContainer + + + +
+
+ + \ No newline at end of file diff --git a/src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html b/src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html new file mode 100644 index 0000000..64d715f --- /dev/null +++ b/src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html @@ -0,0 +1,13 @@ + + + +CalendarViewCarrousel + + + +
+
+
+
+ + \ No newline at end of file diff --git a/src/main/resources/de/unifr/rz/infoscreen/component/EventCalendar.html b/src/main/resources/de/unifr/rz/infoscreen/component/EventCalendar.html new file mode 100644 index 0000000..0d2baeb --- /dev/null +++ b/src/main/resources/de/unifr/rz/infoscreen/component/EventCalendar.html @@ -0,0 +1,11 @@ + + + +EventCalendar + + + + event!! + + + \ No newline at end of file -- cgit v1.2.3-55-g7522