diff options
-rw-r--r-- | pom.xml | 25 | ||||
-rw-r--r-- | src/main/java/de/dhbw/horb/calendar/dualis/DualisConnection.java | 6 | ||||
-rw-r--r-- | src/main/java/de/dhbw/horb/calendar/ics/VEventComponent.java | 17 | ||||
-rw-r--r-- | src/main/java/de/dhbw/horb/calendar/servlet/ICSServlet.java | 2 | ||||
-rw-r--r-- | src/site/apt/devel-install.apt | 10 | ||||
-rw-r--r-- | src/site/apt/user-windows.apt | 46 | ||||
-rw-r--r-- | src/site/resources/images/windows-live-web.jpg | bin | 68296 -> 0 bytes | |||
-rw-r--r-- | src/site/resources/images/windows-live-web.png | bin | 0 -> 100425 bytes | |||
-rw-r--r-- | src/site/resources/slides/images/windows-live-web.png | bin | 0 -> 100425 bytes | |||
-rw-r--r-- | src/site/resources/slides/slides.pdf | bin | 1069722 -> 1069723 bytes | |||
-rw-r--r-- | src/site/resources/slides/slides.tex | 16 | ||||
-rw-r--r-- | src/site/site.xml | 2 | ||||
-rw-r--r-- | src/site/xdoc/user-outlook.xml | 51 |
13 files changed, 101 insertions, 74 deletions
@@ -69,6 +69,31 @@ </reportSet> </reportSets> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-pmd-plugin</artifactId> + <version>2.5</version> + <configuration> + <linkXref>true</linkXref> + <sourceEncoding>utf-8</sourceEncoding> + <minimumTokens>100</minimumTokens> + <targetJdk>1.5</targetJdk> + <excludes> + <exclude>**/*Bean.java</exclude> + <exclude>**/generated/*.java</exclude> + </excludes> + <!-- + <excludeRoots> + <excludeRoot>target/generated-sources/stubs</excludeRoot> + </excludeRoots> + --> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>2.6</version> + </plugin> </plugins> </reporting> diff --git a/src/main/java/de/dhbw/horb/calendar/dualis/DualisConnection.java b/src/main/java/de/dhbw/horb/calendar/dualis/DualisConnection.java index 89e566c..efb7943 100644 --- a/src/main/java/de/dhbw/horb/calendar/dualis/DualisConnection.java +++ b/src/main/java/de/dhbw/horb/calendar/dualis/DualisConnection.java @@ -181,8 +181,9 @@ public class DualisConnection { private void getEventsFromPage(HtmlPage page, final List<VEventComponent> events) { for (HtmlElement elem : page.getElementsByTagName("div")) { - if (!elem.getAttribute("class").equals("tbMonthDay")) + if (!elem.getAttribute("class").equals("tbMonthDay")) { continue; + } final Calendar cday = Calendar.getInstance(); Object dayTitle = elem .getFirstByXPath("div[@class='tbsubhead']/a/@title"); @@ -199,8 +200,9 @@ public class DualisConnection { continue; } for (HtmlElement appLink : elem.getElementsByTagName("a")) { - if (!appLink.getAttribute("class").equals("apmntLink")) + if (!appLink.getAttribute("class").equals("apmntLink")) { continue; + } // title="08:15 - 10:45 / HOR-121 / Open Source Systeme" String desc = StringUtils.strip(appLink.getAttribute("title")); java.util.regex.Matcher matcher = appLinkPattern.matcher(desc); diff --git a/src/main/java/de/dhbw/horb/calendar/ics/VEventComponent.java b/src/main/java/de/dhbw/horb/calendar/ics/VEventComponent.java index bfc2162..0472dea 100644 --- a/src/main/java/de/dhbw/horb/calendar/ics/VEventComponent.java +++ b/src/main/java/de/dhbw/horb/calendar/ics/VEventComponent.java @@ -3,6 +3,9 @@ package de.dhbw.horb.calendar.ics; import java.util.Calendar; import java.util.TimeZone; +/** + * VEvent Component of iCalendar + */ public class VEventComponent extends AbstractICSType { public Calendar dtstamp = Calendar.getInstance(); public Calendar dtstart = Calendar.getInstance(); @@ -43,32 +46,32 @@ public class VEventComponent extends AbstractICSType { public static class Builder { VEventComponent event = new VEventComponent(); - public Builder dtstamp(Calendar cstart) { + public Builder dtstamp(final Calendar cstart) { event.dtstamp = cstart; return this; } - public Builder dtstart(Calendar cstart) { + public Builder dtstart(final Calendar cstart) { event.dtstart = cstart; return this; } - public Builder dtend(Calendar cend) { + public Builder dtend(final Calendar cend) { event.dtend = cend; return this; } - public Builder summary(String summary) { + public Builder summary(final String summary) { event.summary = summary; return this; } - public Builder description(String description) { + public Builder description(final String description) { event.description = description; return this; } - public Builder location(String location) { + public Builder location(final String location) { event.location = location; return this; } @@ -77,7 +80,7 @@ public class VEventComponent extends AbstractICSType { return event; } - public Builder status(String status) { + public Builder status(final String status) { event.status = status; return this; } diff --git a/src/main/java/de/dhbw/horb/calendar/servlet/ICSServlet.java b/src/main/java/de/dhbw/horb/calendar/servlet/ICSServlet.java index a76f781..de9f83f 100644 --- a/src/main/java/de/dhbw/horb/calendar/servlet/ICSServlet.java +++ b/src/main/java/de/dhbw/horb/calendar/servlet/ICSServlet.java @@ -39,4 +39,4 @@ public class ICSServlet extends AuthenticatedServlet { } response.getOutputStream().write(calendar.serialize().getBytes()); } -}
\ No newline at end of file +} diff --git a/src/site/apt/devel-install.apt b/src/site/apt/devel-install.apt index 01c4ae1..a0eec08 100644 --- a/src/site/apt/devel-install.apt +++ b/src/site/apt/devel-install.apt @@ -8,7 +8,7 @@ Installation * Mit Embedded Servlet Container - + <<<mvn jetty:run>>> Standardmäßig lauscht jetty nun auf Port 8080 @@ -132,7 +132,7 @@ Geben Sie das Passwort für "jetty" ein. <artifactId>jetty-ssl</artifactId> <version>7.0.0.pre5</version> </dependency> -</dependencies> +</dependencies> ----------------------------------------------- ** Zertifikationsinfos @@ -153,7 +153,7 @@ B6:CA:AF:1C:8C:B7:38:38:36:2A:30:3C:A5:C2:54:20 -----BEGIN CERTIFICATE----- .... /Zertifikat im PEM Format/ - -----END CERTIFICATE----- + -----END CERTIFICATE----- -------------------------------- Die Verbindung kann jetzt mit wget überprüft werden @@ -162,13 +162,13 @@ B6:CA:AF:1C:8C:B7:38:38:36:2A:30:3C:A5:C2:54:20 # wget --ca-certificate=certificate.pem \ https://dualical.ba-horb.de:8443/dhbwcalendar/ -------------------------------- - + Weitere Informationen zum Zertifikat zeigt OpenSSL in Klartext an: -------------------------------- # openssl x509 -noout -text -in certificate.pem -------------------------------- - + * Zugriff von 'aussen' Mit php und curl lässt sich eine reverse-Proxy nachahmen. Ein Beispiel findet sich unter: {{{./ics.php.txt}ics.php.txt}}.
\ No newline at end of file diff --git a/src/site/apt/user-windows.apt b/src/site/apt/user-windows.apt new file mode 100644 index 0000000..06f6ec5 --- /dev/null +++ b/src/site/apt/user-windows.apt @@ -0,0 +1,46 @@ + ------ + Anbindung Windows Tools + ------ + Yves Fischer + ------ + 12.04.2011 + +Anbindung Microsoft Windows Live + + Melden Sie sich bei Windows Live an. Rufen Sie die +Kalendarfunktion auf. + + Klicken sie in der Toolbar auf Subscribe/Abonnieren. Geben Sie als +Kalendar URL die URL ihrer DHBW Calendar Installation an. Der Server +muss für Microsoft erreichbar sein. + + Achtung, dieses Vorgehen ist nur theoretisch möglich, praktisch +unterstützt Windows Live keine Authentifizierung bei externen +iCalendar Resourcen. Es ist daher nötig, die iCalendar Daten über +Drittprogramme zu beziehen und Windows Live ohne Authentifizierung zur +Verfügung zu stellen. Eine Möglichkeit ist es, durch ein Wrapper-Script +die Authentifizierung über HTTP-GET Parameter zu steuern. + +* Windows Live im Web + +[images/windows-live-web.png] Windows Live im Web. + +* Windows Live mit Windows Mail + +[images/windows-live-desktop.jpg] Windows Live mit Windows Mail. + +* Windows Live mit Windows Mobile + + todo + + +Anbindung Microsoft Outlook 2007 + + Bei der Nutzung von Microsoft Outlook 2007 muss beachtet werden, +dass der in Outlook integrierte Dialog nicht richtig funktioniert. + + Der Kalender kann hinzugefügt werden, in dem im Internet Explorer +eine URL 'webcal://host/path' geöffnet wird. Folgend sollte nach +einigen Bestätigungsdialogen die Anmeldedaten abgefragt werden. + +[images/outlook-2007.jpg] Outlook 2007. diff --git a/src/site/resources/images/windows-live-web.jpg b/src/site/resources/images/windows-live-web.jpg Binary files differdeleted file mode 100644 index 5a39572..0000000 --- a/src/site/resources/images/windows-live-web.jpg +++ /dev/null diff --git a/src/site/resources/images/windows-live-web.png b/src/site/resources/images/windows-live-web.png Binary files differnew file mode 100644 index 0000000..7438d56 --- /dev/null +++ b/src/site/resources/images/windows-live-web.png diff --git a/src/site/resources/slides/images/windows-live-web.png b/src/site/resources/slides/images/windows-live-web.png Binary files differnew file mode 100644 index 0000000..7438d56 --- /dev/null +++ b/src/site/resources/slides/images/windows-live-web.png diff --git a/src/site/resources/slides/slides.pdf b/src/site/resources/slides/slides.pdf Binary files differindex 2d4a901..09e0850 100644 --- a/src/site/resources/slides/slides.pdf +++ b/src/site/resources/slides/slides.pdf diff --git a/src/site/resources/slides/slides.tex b/src/site/resources/slides/slides.tex index 1a169a1..bebee40 100644 --- a/src/site/resources/slides/slides.tex +++ b/src/site/resources/slides/slides.tex @@ -27,7 +27,7 @@ \subtitle{\small\textit{Open-Source Projekt}} \author{Yves Fischer\\\vspace{.2cm}\tiny{TIT2008/NS}} \institute{DHBW Stuttgart Campus Horb} -\date{Mittwoch 9. März} +\date{\today} \begin{document} @@ -97,25 +97,25 @@ \begin{itemize} \item Apple iPhone \begin{itemize} - \item Direkte iCalendar Unterstützung. + \item Direkte iCalendar/HTTPS Unterstützung. \end{itemize} \item Google Kalender \begin{itemize} \item schliesst Android Smartphone ein. - \item Unterstützt Abfragen externe iCalendar Ressourcen. + \item Unterstützt Abfragen externer iCalendar/HTTPS Ressourcen. \end{itemize} \item Mozilla Thunderbird/Lightning \begin{itemize} - \item Direkte iCalendar Unterstützung. + \item Direkte iCalendar/HTTPS Unterstützung. \end{itemize} \item Microsoft Outlook \begin{itemize} - \item Direkte iCalendar Unterstützung. + \item Direkte iCalendar/HTTPS Unterstützung. \end{itemize} \item Microsoft Windows Live \begin{itemize} \item schliesst Windows Mail, Windows Mobile ein. - \item Unterstützt Abfragen externer iCalendar Ressourcen aber nur beschränkt. + \item beschränkt Abfragen von iCalendar/HTTP Resourcen. \end{itemize} \pause \item \textsc{DUALIS} @@ -176,7 +176,9 @@ \includegraphics[height=0.6\paperheight]{images/dhbwcalendar-live-web.jpg} \end{figure} \begin{itemize} - \item Unterstützt Abfragen externer iCalendar Ressourcen nur beschränkt. + \item Unterstützt kein SSL + \item Unterstützt keine HTTP-Authentifizierung + \item Workaround: Credentials in Query-String der URL \end{itemize} \end{frame} diff --git a/src/site/site.xml b/src/site/site.xml index 5f3c4d8..af87ba7 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -14,7 +14,7 @@ <item name="Emacs Diary" href="user-emacs.html" /> <item name="iPhone" href="user-apple.html" /> <item name="Mozilla Lightning" href="user-lightning.html" /> - <item name="Microsoft Outlook" href="user-outlook.html" /> + <item name="Microsoft Tools" href="user-windows.html" /> </menu> <menu name="Entwickler"> <item name="Install" href="devel-install.html" /> diff --git a/src/site/xdoc/user-outlook.xml b/src/site/xdoc/user-outlook.xml deleted file mode 100644 index 8884049..0000000 --- a/src/site/xdoc/user-outlook.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> - <properties> - <title>Anbindung Microsoft Outlook</title> - <author>Yves Fischer</author> - <date>27.02.2011</date> - </properties> - - <body> - <section name="Anbindung Microsoft Windows Live/Hotmail"> - <p>Melden Sie sich bei Windows Live an. Rufen Sie die - Kalendarfunktion auf.</p> - <p>Klicken sie in der Toolbar auf Subscribe/Abonnieren. Geben Sie als - Kalendar URL die URL ihrer DHBW Calendar Installation an. Der Server - muss für Microsoft erreichbar sein.</p> - <p>Achtung, dieses Vorgehen ist nur - theoretisch möglich, praktisch - unterstützt Windows Live keine - Authentifizierung bei externen - iCalendar Resourcen. Es ist daher - nötig, die iCalendar Daten über - Drittprogramme zu beziehen und Windows - Live ohne Authentifizierung zur - Verfügung zu stellen.</p> - - <subsection name="Screenshot Web"> - <img src="images/windows-live-web.jpg" alt="Windows Live im Web" /> - </subsection> - <subsection name="Screenshot Desktop"> - <img src="images/windows-live-desktop.jpg" alt="Windows Live im Web" /> - </subsection> - </section> - <section name="Anbindung Microsoft Outlook 2007"> - <p>Bei der Nutzung von Microsoft Outlook 2007 muss beachtet werden, - dass der in Outlook integrierte Dialog nicht richtig funktioniert. - </p> - <p> - Der Kalender kann hinzugefügt werden, in dem im Internet Explorer - eine URL - <tt>webcal://host/path</tt> - geöffnet wird. Folgend sollte nach einigen Bestätigungsdialogen die - Anmeldedaten abgefragt werden. - </p> - <p> - <img src="images/outlook-2007.jpg" alt="Outlook 2007" /> - </p> - </section> - </body> -</document> - |