thorframework-devel Mailing List for Thor Webapplication Framework
Status: Planning
Brought to you by:
denniskempin
You can subscribe to this list here.
2006 |
Jan
|
Feb
(32) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: <den...@us...> - 2006-03-03 11:11:27
|
Revision: 36 Author: denniskempin Date: 2006-03-03 03:11:17 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=36&view=rev Log Message: ----------- Modified Paths: -------------- trunk/thor/doc/why_thor.html Modified: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html 2006-03-03 11:01:01 UTC (rev 35) +++ trunk/thor/doc/why_thor.html 2006-03-03 11:11:17 UTC (rev 36) @@ -88,5 +88,102 @@ Die Performance sollte um einiges besser sein als vergleichbare PHP Anwendungen, aus den oben Bereits genannten gründen. </p> + <h2>Und was soll ich nun damit?</h2> + <p> + Das Framework ist bisher nur ein Konzept, eine Idee (welche ich ständig versuche zu verbessern und mit Test Implementierungen zu Testen), + und ich suche Leute die Interesse haben an solch einem Projekt mitzuwirken. Da es sich um ein Open Source Projekt handelt + ist jeder herzlichst Eingeladen: + <ul> + <li> + <b>Java Entwickler:</b><br/> + Entweder als Berater oder am besten als mit Entwickler kann ich jede Hilfe gebrauchen. + </li> + <li> + <b>PHP Entwickler:</b><br/> + Wenn ihr PHP programmiert und Interesse habt mal was neues auszuprobieren, dann seid auch ihr + willkommen. Denn ohne Tester, und vor allem ohne Leute die die usability bestimmter Konzepte beurteilen + wird das nichts ;). + </li> + </ul> + </p> + <h2>Anhang</h2> + <h3>A. Shoutbox component sample template</h3> + Dieses Template zeigt wie einfach man im Templatesystem + die bereitgestellten Daten verwenden kann. + <pre> +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:thor="http://www.y2k1.org/thor/template"> + + <head> + <link href="/shoutbox/style.css" rel="stylesheet" type="text/css" /> + </head> + + <body> + <div class="shoutbox"> + + <!-- Iterate over all messages --> + <div class="entry" thor:foreach="${message in messages}"> + ${message} <!-- print the message text --> + </div> + + <!-- Display message if the messages list is empty --> + <div class="entry" thor:if="${empty messages}"> + No messages + </div> + + <h3>Post a Message:</h3> + <form method="POST" thor:listener="PostMessage"> + <input type="text" name="message" /> + <input type="submit" /> + </form> + + </div> + </body> +</html> + </pre> + <h3>B. Matching sample component class file</h3> + Die Logik zum Template wird in eine extra Klasse ausgelagert. + Diese wird nur einmal beim starten der Anwendung erzeugt, so dass + der Inhalt der Liste namens "messages" so lange erhalten bleibt wie + die Anwendung läuft. Es ist also gar keine Datenbank nötig für dieses Beispiel, + versucht das mal mit PHP ;).<br/> + Der Einfachheit halber habe ich auf Sicherheitsabfragen etc verzichtet. + <pre> +public class Shoutbox extends Page +{ + /** + * This List contains all messages posted to the shoutbox. + */ + private List<String> messages; + + /** + * We create a shoutbox page and construct a new messages list. + * this is called once per application start. + */ + public TestComponent() + { + this.messages = new LinkedList<String>(); + } + + /** + * This method is called each time the page is called. + * @param request contains informations about the request just like session objects or GET parameters. + */ + public void onRequest(IRequest request, IResponse response) + { + // we pass our message list to the template to process it there. + response.set("messages", messages); + } + + /** + * This method is called when the PostMessage Formular is invoked. + * after this the request is handled just like a common page request. + */ + public void onPostMessage(IRequest request, IResponse response) + { + // we fetch the message text from the request data and add it to the messages list. + messages.add(request.getParameter("message")); + } +} </body> </html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-03-03 11:01:13
|
Revision: 35 Author: denniskempin Date: 2006-03-03 03:01:01 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=35&view=rev Log Message: ----------- Modified Paths: -------------- trunk/thor/doc/why_thor.html Modified: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html 2006-03-03 10:47:47 UTC (rev 34) +++ trunk/thor/doc/why_thor.html 2006-03-03 11:01:01 UTC (rev 35) @@ -56,10 +56,37 @@ Login Forumlare etc. </p> <h2>Was könnte man mit dem Thor Framework besser machen?</h2> + + <h3>Im Vergleich zu anderen Java Frameworks</h3> <p> - <h3>Im Vergleich zu anderen Java Frameworks</h3> - + Man sollte das Framework so einfach gestalten, dass man nach dem Downloaden des Paketes ohne irgendwelche + zusätzlichen Vorraussetzungen (Abgesehen von installiertem Java) loslegen kann Anwendungen zu schreiben.<br/> + Dazu gehört eine IDE (Eclipse inklusive Project Wizard für Thor und zusätzlicher Plugins für Webentwicklung) + ein Application Server (Tomcat) und das Framework selbst.<br/> + Außerdem sollte man versuchen auf komplizierte Konfigurationsdateien verzichten, und diese nur zur Konfiguration von + Daten wie Datenbank Servern usw verwenden. </p> - + <p> + Das Framework selbst mit dem die Anwendung(Webseite) programmiert werden soll sollte auch euf einem möglichst simplen + und schnell nachvollziehbaren Konzept beruhen.<br/> + Die Momentane planung schaut so aus dass man Seiten aus einem Template mit zugehöriger Klasse aufbaut (Beispiel im Anhang). + Anstatt groß Dinge im Hintergrund zu verwalten um ein möglichst abstraktes Bild von Websites zu erzeugen sollte + das Framework relativ nah an HTML bleiben, und nur simple Techniken verwenden. + </p> + <p> + Was auch wichtig ist ist ein einheitliches und simples Interface zu Funktionen wie Mail Versand, Datenbank Anbindungen + File Uploads etc, für die man sonst meist zu einzelnen Bibliotheken greifen muss. + </p> + <h3>Im Vergleich zu PHP</h3> + <p> + Selbstverständlich kann man die Einfachheit von PHP nur schwer toppen, und das habe ich auch garnicht vor. + Vielmehr soll es einem eine fortgeschrittene Methode bieten Dynamische Internetseiten zu programmieren.<br/> + Man kann eine einheitliche Konfigurationsdatei als zentrale Anlaufstelle für sämtliche Serverabhängige + Konfigurationseinstellungen (Datenbankanbindung, SMTP Server für Mails etc) bieten.<br/> + Man kann leicht wiederverwendbare Komponenten verwenden (Login Formulare, Listen mit Seitenanzeige etc) + und diese auch genauso simpel programmieren wie die Webseiten selbst, was auch für das erweitern/anpassen solcher Komponenten gilt.<br/> + Die Performance sollte um einiges besser sein als vergleichbare PHP Anwendungen, aus den oben Bereits genannten gründen. + </p> + </body> </html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-03-03 10:47:53
|
Revision: 34 Author: denniskempin Date: 2006-03-03 02:47:47 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=34&view=rev Log Message: ----------- Modified Paths: -------------- trunk/thor/doc/why_thor.html Modified: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html 2006-03-03 10:26:31 UTC (rev 33) +++ trunk/thor/doc/why_thor.html 2006-03-03 10:47:47 UTC (rev 34) @@ -3,27 +3,27 @@ <body> <h2>Warum soll Thor entwickelt werden?</h2> <p> - Ich pers\xF6nlich war vor einiger Zeit auch Hobby PHP Entwickler und je gr\xF6\xDFer die Projekte wurden desto - un\xFCbersichtlicher wurde es diese in PHP zu realisieren. <br/> - Nicht nur das, ich habe mir auch mehr M\xF6glichkeiten gew\xFCnscht statische Daten einfach in einer variable zu belassen + Ich persönlich war vor einiger Zeit auch Hobby PHP Entwickler und je größer die Projekte wurden desto + unübersichtlicher wurde es diese in PHP zu realisieren. <br/> + Nicht nur das, ich habe mir auch mehr Möglichkeiten gewünscht statische Daten einfach in einer Variable zu belassen anstatt sie immer wieder bei jedem Seitenaufruf aus der Datenbank zu holen. </p> <h2>Nachteile von PHP</h2> <p> - Momentan sammle ich in verschiedenen Foren Meinungen \xFCber die Nachteile von PHP. + Momentan sammle ich in verschiedenen Foren Meinungen über die Nachteile von PHP. Momentan ist dies der folgende Stand: <ul> <li><b>Performance</b></li> <li><b>Mangelnde Typsicherheit</b></li> - <li><b>\xDCberm\xE4\xDFige Abh\xE4ngigkeit von Datenbanken</b></li> - <li><b>Mangelnde Unicode Unterst\xFCtzung</b></li> - <li><b>Fehleranf\xE4llige Standardeinstellungen</b></li> - <li><b>Teilweise Probleme bei der Platformunabh\xE4ngigkeit</b></li> + <li><b>Übermäßige Abhängigkeit von Datenbanken</b></li> + <li><b>Mangelnde Unicode Unterstützung</b></li> + <li><b>Fehleranfällige Standardeinstellungen</b></li> + <li><b>Teilweise Probleme bei der Platformunabhängigkeit</b></li> </ul> </p> <h2>Vorteile von Java allgemein</h2> <p> - Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: + Ich nenne einige Vorteile die allgemein durch die Verwendung von Java für Webanwendungen entstehen: <ul> <li> <b>Performance:</b><br/> @@ -31,47 +31,34 @@ rechentechnisch um einiges schneller als PHP. </li> - <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> + <li><b>Fortgeschrittene objektorientierte Möglichkeiten</b></li> <li><b>Sehr gute IDEs</b></li> - <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> + <li><b>Sehr vollständige, durchtachte standard Bibliothek</b></li> </ul> </p> - <h2>Und warum wird Java dann nicht schon l\xE4ngst so intensiv genutzt?</h2> + <h2>Und warum wird Java dann nicht schon längst so intensiv genutzt?</h2> <p> - Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. + Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexität der vorhandenen Frameworks. Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> - Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch - f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> - Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, + Java findet im professionellen Bereich große Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch + für einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr Features als man je benutzen könnte.<br/> + Der Einstieg in PHP ist da viel simpler. Ein einfaches >? echo "Hallo Welt" ?< und man hat die erste PHP Anwendung geschrieben, sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und - ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + ein einfaches Gästebuch ganz selbst schreiben (So wie ich es damals gemacht habe). </p> <h2>Warum also nicht bei PHP bleiben?</h2> <p> - Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. - Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> - Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch - f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> - Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, - sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, - mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und - ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + Wie oben schon erwähnt könnte man komplexere Webanwendungen wie Foren etc wesentlich effektiver + und intuitiver programmieren wenn man die Möglichkeit hätte unabhängiger von der Datenbank zu arbeiten + (z.B. durch speichern der Forenkategorien in einer lokalen Variable, die ihren Wert + beibehält so lange die Anwendung läuft) oder durch optimierte Wiederverwendbarkeit von Komponenten wie + Login Forumlare etc. </p> - <h2>Was k\xF6nnte man mit dem Thor Framework besser machen?</h2> + <h2>Was könnte man mit dem Thor Framework besser machen?</h2> <p> - Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: - <ul> - <li> - <b>Performance:</b><br/> - Laut den Ergebnissen des GreatComputerLanguageShootout ist Java rein - rechentechnisch um einiges schneller als PHP. - </li> - - <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> - <li><b>Sehr gute IDEs</b></li> - <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> - </ul> + <h3>Im Vergleich zu anderen Java Frameworks</h3> + </p> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-03-03 10:26:40
|
Revision: 33 Author: denniskempin Date: 2006-03-03 02:26:31 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=33&view=rev Log Message: ----------- Added Paths: ----------- trunk/thor/doc/why_thor.html Added: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html (rev 0) +++ trunk/thor/doc/why_thor.html 2006-03-03 10:26:31 UTC (rev 33) @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> + <body> + <h2>Warum soll Thor entwickelt werden?</h2> + <p> + Ich pers\xF6nlich war vor einiger Zeit auch Hobby PHP Entwickler und je gr\xF6\xDFer die Projekte wurden desto + un\xFCbersichtlicher wurde es diese in PHP zu realisieren. <br/> + Nicht nur das, ich habe mir auch mehr M\xF6glichkeiten gew\xFCnscht statische Daten einfach in einer variable zu belassen + anstatt sie immer wieder bei jedem Seitenaufruf aus der Datenbank zu holen. + </p> + <h2>Nachteile von PHP</h2> + <p> + Momentan sammle ich in verschiedenen Foren Meinungen \xFCber die Nachteile von PHP. + Momentan ist dies der folgende Stand: + <ul> + <li><b>Performance</b></li> + <li><b>Mangelnde Typsicherheit</b></li> + <li><b>\xDCberm\xE4\xDFige Abh\xE4ngigkeit von Datenbanken</b></li> + <li><b>Mangelnde Unicode Unterst\xFCtzung</b></li> + <li><b>Fehleranf\xE4llige Standardeinstellungen</b></li> + <li><b>Teilweise Probleme bei der Platformunabh\xE4ngigkeit</b></li> + </ul> + </p> + <h2>Vorteile von Java allgemein</h2> + <p> + Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: + <ul> + <li> + <b>Performance:</b><br/> + Laut den Ergebnissen des GreatComputerLanguageShootout ist Java rein + rechentechnisch um einiges schneller als PHP. + </li> + + <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> + <li><b>Sehr gute IDEs</b></li> + <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> + </ul> + </p> + <h2>Und warum wird Java dann nicht schon l\xE4ngst so intensiv genutzt?</h2> + <p> + Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. + Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> + Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch + f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> + Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, + sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, + mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und + ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + </p> + <h2>Warum also nicht bei PHP bleiben?</h2> + <p> + Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. + Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> + Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch + f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> + Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, + sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, + mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und + ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + </p> + <h2>Was k\xF6nnte man mit dem Thor Framework besser machen?</h2> + <p> + Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: + <ul> + <li> + <b>Performance:</b><br/> + Laut den Ergebnissen des GreatComputerLanguageShootout ist Java rein + rechentechnisch um einiges schneller als PHP. + </li> + + <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> + <li><b>Sehr gute IDEs</b></li> + <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> + </ul> + </p> + + </body> +</html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-27 16:25:40
|
Revision: 32 Author: denniskempin Date: 2006-02-27 08:25:14 -0800 (Mon, 27 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=32&view=rev Log Message: ----------- Modified Paths: -------------- trunk/coretest/WEB-INF/lib/thor.jar trunk/coretest/WEB-INF/thor.xml trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java Modified: trunk/coretest/WEB-INF/lib/thor.jar =================================================================== (Binary files differ) Modified: trunk/coretest/WEB-INF/thor.xml =================================================================== --- trunk/coretest/WEB-INF/thor.xml 2006-02-27 16:24:45 UTC (rev 31) +++ trunk/coretest/WEB-INF/thor.xml 2006-02-27 16:25:14 UTC (rev 32) @@ -1,13 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<config xmlns="http://www.y2k1.org/thor/config" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.y2k1.org/thor/config xsd/config.xsd"> +<config xmlns="http://www.y2k1.org/thor/config"> <import>org.y2k1.thor.core.test</import> <import>org.y2k1.thorx.modules</import> <servlet name="TestServlet" class="TestServlet"> - <mapping>/*</mapping> + <mapping>/coretest/test</mapping> <dependency name="mail" module="MailSender" /> </servlet> Modified: trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java =================================================================== --- trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-27 16:24:45 UTC (rev 31) +++ trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-27 16:25:14 UTC (rev 32) @@ -16,7 +16,6 @@ package org.y2k1.thor.core.test; import java.io.IOException; -import java.util.Map.Entry; import javax.mail.Message; import javax.mail.MessagingException; @@ -28,17 +27,18 @@ import org.y2k1.thor.core.Servlet; import org.y2k1.thor.core.ServletInitializer; import org.y2k1.thor.core.exception.ModuleResolveException; -import org.y2k1.thor.core.exception.ServerRedirectInterrupt; import org.y2k1.thor.core.exception.ServletException; import org.y2k1.thorx.modules.MailSender; public class TestServlet extends Servlet { private MailSender mailSender; + private ServletInitializer initializer; public TestServlet(ServletInitializer initializer) throws ModuleResolveException { super(initializer); + this.initializer = initializer; this.mailSender = getDependency("mail", MailSender.class); } @@ -76,24 +76,47 @@ else if(request.getParameter("serverinfo", null) != null) { response.getWriter().print("Operating System: "); - response.getWriter().print(System.getProperty("os.name")); + response.getWriter().print(request.getSystemInfo().getOSName()); response.getWriter().print(" "); - response.getWriter().print(System.getProperty("os.arch")); + response.getWriter().print(request.getSystemInfo().getOSArch()); response.getWriter().print(" ("); - response.getWriter().print(System.getProperty("os.version")); + response.getWriter().print(request.getSystemInfo().getOSVersion()); response.getWriter().println(")"); response.getWriter().print("Java VM: "); - response.getWriter().print(System.getProperty("java.vm.name")); + response.getWriter().print(request.getSystemInfo().getVMName()); response.getWriter().print(" ("); - response.getWriter().print(System.getProperty("java.vm.version")); + response.getWriter().print(request.getSystemInfo().getVMVersion()); response.getWriter().println(")"); response.getWriter().print("Runtime: "); - response.getWriter().print(System.getProperty("java.runtime.name")); + response.getWriter().print(request.getSystemInfo().getRuntimeName()); response.getWriter().print(" ("); - response.getWriter().print(System.getProperty("java.runtime.version")); + response.getWriter().print(request.getSystemInfo().getRuntimeVersion()); response.getWriter().println(")"); + + response.getWriter().print("Memory: "); + response.getWriter().print(request.getSystemInfo().getFreeMemory()/1024/1024); + response.getWriter().print("MB of "); + response.getWriter().print(request.getSystemInfo().getMaxMemory()/1024/1024); + response.getWriter().print("MB free"); + response.getWriter().print(" ("); + response.getWriter().print(request.getSystemInfo().getTotalMemory()/1024/1024); + response.getWriter().println("MB allocated)"); + + response.getWriter().print("Server: "); + response.getWriter().println(request.getServerInfo().getServerName()); + + response.getWriter().print("Servlet: "); + response.getWriter().print(request.getServerInfo().getServletContextName()); + response.getWriter().print(" ("); + response.getWriter().print(request.getServerInfo().getServletVersion()); + response.getWriter().println(")"); + + response.getWriter().println("Client host: "+request.getClientInfo().getHost()); + response.getWriter().println("Client address: "+request.getClientInfo().getAddress()); + response.getWriter().println("Client user: "+request.getClientInfo().getUser()); + response.getWriter().println("Client user-agent: "+request.getClientInfo().getUserAgent()); } else { @@ -106,69 +129,3 @@ } } } - -/* -java.runtime.name: Java(TM) 2 Runtime Environment, Standard Edition -sun.boot.library.path: C:\Program Files\Java\jre1.5.0_05\bin -java.vm.version: 1.5.0_05-b05 -shared.loader: ${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar -java.vm.vendor: Sun Microsystems Inc. -java.vendor.url: http://java.sun.com/ -path.separator: ; -tomcat.util.buf.StringCache.byte.enabled: true -java.vm.name: Java HotSpot(TM) Client VM -file.encoding.pkg: sun.io -user.country: DE -sun.os.patch.level: Service Pack 2 -java.vm.specification.name: Java Virtual Machine Specification -user.dir: C:\WINDOWS\system32 -java.runtime.version: 1.5.0_05-b05 -java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment -java.endorsed.dirs: d:\srv\tomcat\common\endorsed -os.arch: x86 -java.io.tmpdir: d:\srv\tomcat\temp -line.separator: - -java.vm.specification.vendor: Sun Microsystems Inc. -java.naming.factory.url.pkgs: org.apache.naming -java.util.logging.manager: org.apache.juli.ClassLoaderLogManager -user.variant: -os.name: Windows XP -sun.jnu.encoding: Cp1252 -java.library.path: d:\srv\tomcat\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;d:\net\scp\;C:\Program Files\PostgreSQL Frontend\bin -java.specification.name: Java Platform API Specification -java.class.version: 49.0 -sun.management.compiler: HotSpot Client Compiler -os.version: 5.1 -user.home: C:\ -catalina.useNaming: true -user.timezone: Europe/Berlin -java.awt.printerjob: sun.awt.windows.WPrinterJob -file.encoding: Cp1252 -java.specification.version: 1.5 -catalina.home: d:\srv\tomcat -java.class.path: d:\srv\tomcat\bin\bootstrap.jar -user.name: SYSTEM -java.naming.factory.initial: org.apache.naming.java.javaURLContextFactory -package.definition: sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. -java.vm.specification.version: 1.0 -java.home: C:\Program Files\Java\jre1.5.0_05 -sun.arch.data.model: 32 -user.language: de -java.specification.vendor: Sun Microsystems Inc. -awt.toolkit: sun.awt.windows.WToolkit -java.vm.info: mixed mode -java.version: 1.5.0_05 -java.ext.dirs: C:\Program Files\Java\jre1.5.0_05\lib\ext -sun.boot.class.path: C:\Program Files\Java\jre1.5.0_05\lib\rt.jar;C:\Program Files\Java\jre1.5.0_05\lib\i18n.jar;C:\Program Files\Java\jre1.5.0_05\lib\sunrsasign.jar;C:\Program Files\Java\jre1.5.0_05\lib\jsse.jar;C:\Program Files\Java\jre1.5.0_05\lib\jce.jar;C:\Program Files\Java\jre1.5.0_05\lib\charsets.jar;C:\Program Files\Java\jre1.5.0_05\classes -server.loader: ${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar -java.vendor: Sun Microsystems Inc. -catalina.base: d:\srv\tomcat -file.separator: \ -java.vendor.url.bug: http://java.sun.com/cgi-bin/bugreport.cgi -common.loader: ${catalina.home}/common/classes,${catalina.home}/common/i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar -sun.io.unicode.encoding: UnicodeLittle -sun.cpu.endian: little -package.access: sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans. -sun.desktop: windows -sun.cpu.isalist: */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-27 16:24:59
|
Revision: 31 Author: denniskempin Date: 2006-02-27 08:24:45 -0800 (Mon, 27 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=31&view=rev Log Message: ----------- added Server/System/client information classes Modified Paths: -------------- trunk/thor/src/org/y2k1/thor/core/CommonBaseInitializer.java trunk/thor/src/org/y2k1/thor/core/Request.java trunk/thor/src/org/y2k1/thor/core/ThorContext.java trunk/thor/src/org/y2k1/thor/core/ThorHttpServlet.java Added Paths: ----------- trunk/thor/src/org/y2k1/thor/core/ClientInfo.java trunk/thor/src/org/y2k1/thor/core/ServerInfo.java trunk/thor/src/org/y2k1/thor/core/SystemInfo.java Added: trunk/thor/src/org/y2k1/thor/core/ClientInfo.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/ClientInfo.java (rev 0) +++ trunk/thor/src/org/y2k1/thor/core/ClientInfo.java 2006-02-27 16:24:45 UTC (rev 31) @@ -0,0 +1,48 @@ +/* + * Copyright 2002-2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.y2k1.thor.core; + +import javax.servlet.http.HttpServletRequest; + +public final class ClientInfo +{ + private HttpServletRequest request; + + ClientInfo(HttpServletRequest request) + { + this.request = request; + } + + public String getHost() + { + return this.request.getRemoteHost(); + } + + public String getAddress() + { + return this.request.getRemoteAddr(); + } + + public String getUser() + { + return this.request.getRemoteUser(); + } + + public String getUserAgent() + { + return this.request.getHeader("User-Agent"); + } +} Modified: trunk/thor/src/org/y2k1/thor/core/CommonBaseInitializer.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/CommonBaseInitializer.java 2006-02-26 21:56:16 UTC (rev 30) +++ trunk/thor/src/org/y2k1/thor/core/CommonBaseInitializer.java 2006-02-27 16:24:45 UTC (rev 31) @@ -128,4 +128,14 @@ { return this.context; } + + public final SystemInfo getSystemInfo() + { + return this.context.getSystemInfo(); + } + + public final ServerInfo getServerInfo() + { + return this.context.getServerInfo(); + } } Modified: trunk/thor/src/org/y2k1/thor/core/Request.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/Request.java 2006-02-26 21:56:16 UTC (rev 30) +++ trunk/thor/src/org/y2k1/thor/core/Request.java 2006-02-27 16:24:45 UTC (rev 31) @@ -39,21 +39,24 @@ */ private HttpServletRequest request; - private ServletContext context; + private ThorContext context; private StringMap parameter; private Map<String, Object> session; + private ClientInfo clientInfo; + /** * This will create a new Request object * @param request The httpRequest Object to wrap */ @SuppressWarnings("unchecked") - Request(HttpServletRequest request, ServletContext context) + Request(HttpServletRequest request, ThorContext context) { this.request = request; this.context = context; + this.clientInfo = new ClientInfo(request); this.parameter = new StringMap(); for(Entry<String, String[]> entry : (Set<Entry<String, String[]>>) request.getParameterMap().entrySet()) @@ -81,24 +84,6 @@ this.parameter = request.parameter; } - /*public final String getAttribute(String name) - { - return request.getAttribute(name).toString(); - } - - public final StringMap getAttributeMap() - { - Enumeration enumeration = request.getAttributeNames(); - StringMap map = new StringMap(); - - while(enumeration.hasMoreElements()) - { - String name = (String)enumeration.nextElement(); - map.put(name, request.getAttribute(name).toString()); - } - return map; - }*/ - /** * @return the request URI send by the client */ @@ -211,4 +196,19 @@ { return this.parameter; } + + public final SystemInfo getSystemInfo() + { + return this.context.getSystemInfo(); + } + + public final ServerInfo getServerInfo() + { + return this.context.getServerInfo(); + } + + public final ClientInfo getClientInfo() + { + return this.clientInfo; + } } Added: trunk/thor/src/org/y2k1/thor/core/ServerInfo.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/ServerInfo.java (rev 0) +++ trunk/thor/src/org/y2k1/thor/core/ServerInfo.java 2006-02-27 16:24:45 UTC (rev 31) @@ -0,0 +1,43 @@ +/* + * Copyright 2002-2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.y2k1.thor.core; + +import javax.servlet.ServletContext; + +public final class ServerInfo +{ + private ServletContext context; + + ServerInfo(ServletContext context) + { + this.context = context; + } + + public String getServerName() + { + return this.context.getServerInfo(); + } + + public String getServletContextName() + { + return this.context.getServletContextName(); + } + + public String getServletVersion() + { + return this.context.getMajorVersion()+"."+this.context.getMinorVersion(); + } +} Added: trunk/thor/src/org/y2k1/thor/core/SystemInfo.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/SystemInfo.java (rev 0) +++ trunk/thor/src/org/y2k1/thor/core/SystemInfo.java 2006-02-27 16:24:45 UTC (rev 31) @@ -0,0 +1,79 @@ +/* + * Copyright 2002-2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.y2k1.thor.core; + +public final class SystemInfo +{ + SystemInfo() + { + + } + + public String getVMVersion() + { + return System.getProperty("java.vm.version"); + } + + public String getVMName() + { + return System.getProperty("java.vm.name"); + } + + public String getVMVendor() + { + return System.getProperty("java.vm.vendor"); + } + + public String getRuntimeVersion() + { + return System.getProperty("java.runtime.version"); + } + + public String getRuntimeName() + { + return System.getProperty("java.runtime.name"); + } + + public String getOSVersion() + { + return System.getProperty("os.version"); + } + + public String getOSName() + { + return System.getProperty("os.name"); + } + + public String getOSArch() + { + return System.getProperty("os.arch"); + } + + public long getMaxMemory() + { + return Runtime.getRuntime().maxMemory(); + } + + public long getTotalMemory() + { + return Runtime.getRuntime().totalMemory(); + } + + public long getFreeMemory() + { + return Runtime.getRuntime().freeMemory(); + } +} \ No newline at end of file Modified: trunk/thor/src/org/y2k1/thor/core/ThorContext.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/ThorContext.java 2006-02-26 21:56:16 UTC (rev 30) +++ trunk/thor/src/org/y2k1/thor/core/ThorContext.java 2006-02-27 16:24:45 UTC (rev 31) @@ -47,15 +47,24 @@ private List<String> imports; private ServletContext context; - + + private ServerInfo serverInfo; + + private SystemInfo systemInfo; + ThorContext(ServletContext context, String resourceName, ErrorReport report) { try { this.context = context; + this.serverInfo = new ServerInfo(context); + this.systemInfo = new SystemInfo(); + SAXReader reader = new SAXReader(true); reader.setFeature("http://apache.org/xml/features/validation/schema", true); - + reader.setProperty("http://apache.org/xml/properties/schema/" + + "external-schemaLocation","http://www.y2k1.org/thor/config xsd/config.xsd"); + Document document = reader.read(context.getResource(resourceName)); this.imports = parseImports(document.getRootElement()); @@ -69,11 +78,11 @@ } catch(SAXException e) { - throw new RuntimeException("TODO"); + throw new RuntimeException(e); } catch(MalformedURLException e) { - throw new RuntimeException("TODO"); + throw new RuntimeException(e); } report.info("thorconfig", "finished reading " + resourceName); } @@ -218,4 +227,14 @@ { return this.errorPages; } + + SystemInfo getSystemInfo() + { + return this.systemInfo; + } + + ServerInfo getServerInfo() + { + return this.serverInfo; + } } Modified: trunk/thor/src/org/y2k1/thor/core/ThorHttpServlet.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/ThorHttpServlet.java 2006-02-26 21:56:16 UTC (rev 30) +++ trunk/thor/src/org/y2k1/thor/core/ThorHttpServlet.java 2006-02-27 16:24:45 UTC (rev 31) @@ -78,8 +78,11 @@ initReport.setSectionCaption("thorconfig", "Thor configuration file"); this.context = new ThorContext(getServletContext(), "/WEB-INF/thor.xml", initReport); - this.moduleManager = new ModuleManager(this.context, initReport); - this.servletManager = new ServletManager(this.context, this.moduleManager, initReport); + if(!initReport.containsError("thorconfig")) + { + this.moduleManager = new ModuleManager(this.context, initReport); + this.servletManager = new ServletManager(this.context, this.moduleManager, initReport); + } this.configBroken = initReport.containsError("thorconfig"); @@ -115,7 +118,7 @@ System.out.println(httpRequest.getRequestURI() + " requested"); long startTime = System.nanoTime(); - Request request = new Request(httpRequest, getServletContext()); + Request request = new Request(httpRequest, this.context); Response response = new Response(httpRequest, httpResponse); String uri = httpRequest.getRequestURI(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2006-02-27 16:17:53
|
Task #124506 has been updated. Project: Thor Webapplication Framework Subproject: thorx Summary: Document SendMail module Complete: 0% Status: Open Authority : denniskempin Assigned to: denniskempin Description: add documentation to the SendMail module and do further tests. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124506&group_id=157243&group_project_id=46536 |
From: SourceForge.net <no...@so...> - 2006-02-27 16:15:23
|
Task #124505 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: Class to access static server data Complete: 0% Status: Open Authority : denniskempin Assigned to: denniskempin Description: Implement a way to access Static Server data, like getting resources, getting Server/System Informations and executing server side commands ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124505&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-27 16:14:34
|
Task #124505 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: Class to access static server data Complete: 0% Status: Open Authority : denniskempin Assigned to: nobody Description: Implement a way to access Static Server data, like getting resources, getting Server/System Informations and executing server side commands ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124505&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-27 16:12:44
|
Task #124500 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: Provide access to System/Client/Server/Java Information Complete: 90% Status: Open Authority : denniskempin Assigned to: denniskempin Description: Add Classes to provide access to misc Informations. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124500&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-27 12:14:58
|
Task #124501 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: xsd path definition Complete: 100% Status: Closed Authority : denniskempin Assigned to: denniskempin Description: move xsd path definition to java code. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124501&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-27 12:14:43
|
Task #124502 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: xsd path definition Complete: 0% Status: Deleted Authority : denniskempin Assigned to: denniskempin Description: move xsd path definition to java code. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124502&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-27 12:03:18
|
Task #124502 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: xsd path definition Complete: 0% Status: Open Authority : denniskempin Assigned to: denniskempin Description: move xsd path definition to java code. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124502&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-27 11:52:07
|
Task #124501 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: xsd path definition Complete: 0% Status: Open Authority : denniskempin Assigned to: denniskempin Description: move xsd path definition to java code. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124501&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-27 11:50:19
|
Task #124500 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: Provide access to System/Client/Server/Java Information Complete: 0% Status: Open Authority : denniskempin Assigned to: denniskempin Description: Add Classes to provide access to misc Informations. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124500&group_id=157243&group_project_id=46524 |
From: <den...@us...> - 2006-02-26 21:56:30
|
Revision: 30 Author: denniskempin Date: 2006-02-26 13:56:16 -0800 (Sun, 26 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=30&view=rev Log Message: ----------- extended testing servlet Modified Paths: -------------- trunk/coretest/WEB-INF/lib/thor.jar trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java Added Paths: ----------- trunk/coretest/test.html Modified: trunk/coretest/WEB-INF/lib/thor.jar =================================================================== (Binary files differ) Modified: trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java =================================================================== --- trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-26 21:54:58 UTC (rev 29) +++ trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-26 21:56:16 UTC (rev 30) @@ -16,6 +16,7 @@ package org.y2k1.thor.core.test; import java.io.IOException; +import java.util.Map.Entry; import javax.mail.Message; import javax.mail.MessagingException; @@ -27,6 +28,7 @@ import org.y2k1.thor.core.Servlet; import org.y2k1.thor.core.ServletInitializer; import org.y2k1.thor.core.exception.ModuleResolveException; +import org.y2k1.thor.core.exception.ServerRedirectInterrupt; import org.y2k1.thor.core.exception.ServletException; import org.y2k1.thorx.modules.MailSender; @@ -45,21 +47,128 @@ { try { - response.getWriter().println("Hallo Welt"); - - Message message = this.mailSender.createMessage(); - message.setSubject("Test Mail"); - message.setText("This is a testmail send by the JavaMail wrapper for Thor"); - message.addRecipient(RecipientType.TO, new InternetAddress("den...@us...")); - this.mailSender.sendMessage(message); + if(request.getParameter("sendmail", null) != null) + { + try + { + String to = request.getParameter("to"); + String subject = request.getParameter("subject"); + String text = request.getParameter("message"); + + response.getWriter().println("Sending the following message: "); + response.getWriter().println("To: "+to); + response.getWriter().println("Subject: "+subject); + response.getWriter().println("Message: "+text); + + Message message = this.mailSender.createMessage(); + message.setSubject(subject); + message.setText(text); + message.addRecipient(RecipientType.TO, new InternetAddress(to)); + this.mailSender.sendMessage(message); + + response.getWriter().println("Mail has been send"); + } + catch(MessagingException e) + { + throw new ServletException(e); + } + } + else if(request.getParameter("serverinfo", null) != null) + { + response.getWriter().print("Operating System: "); + response.getWriter().print(System.getProperty("os.name")); + response.getWriter().print(" "); + response.getWriter().print(System.getProperty("os.arch")); + response.getWriter().print(" ("); + response.getWriter().print(System.getProperty("os.version")); + response.getWriter().println(")"); + + response.getWriter().print("Java VM: "); + response.getWriter().print(System.getProperty("java.vm.name")); + response.getWriter().print(" ("); + response.getWriter().print(System.getProperty("java.vm.version")); + response.getWriter().println(")"); + + response.getWriter().print("Runtime: "); + response.getWriter().print(System.getProperty("java.runtime.name")); + response.getWriter().print(" ("); + response.getWriter().print(System.getProperty("java.runtime.version")); + response.getWriter().println(")"); + } + else + { + response.serverRedirect("/test.html"); + } } catch(IOException e) { throw new ServletException(e); } - catch(MessagingException e) - { - throw new ServletException(e); - } } } + +/* +java.runtime.name: Java(TM) 2 Runtime Environment, Standard Edition +sun.boot.library.path: C:\Program Files\Java\jre1.5.0_05\bin +java.vm.version: 1.5.0_05-b05 +shared.loader: ${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar +java.vm.vendor: Sun Microsystems Inc. +java.vendor.url: http://java.sun.com/ +path.separator: ; +tomcat.util.buf.StringCache.byte.enabled: true +java.vm.name: Java HotSpot(TM) Client VM +file.encoding.pkg: sun.io +user.country: DE +sun.os.patch.level: Service Pack 2 +java.vm.specification.name: Java Virtual Machine Specification +user.dir: C:\WINDOWS\system32 +java.runtime.version: 1.5.0_05-b05 +java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs: d:\srv\tomcat\common\endorsed +os.arch: x86 +java.io.tmpdir: d:\srv\tomcat\temp +line.separator: + +java.vm.specification.vendor: Sun Microsystems Inc. +java.naming.factory.url.pkgs: org.apache.naming +java.util.logging.manager: org.apache.juli.ClassLoaderLogManager +user.variant: +os.name: Windows XP +sun.jnu.encoding: Cp1252 +java.library.path: d:\srv\tomcat\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;d:\net\scp\;C:\Program Files\PostgreSQL Frontend\bin +java.specification.name: Java Platform API Specification +java.class.version: 49.0 +sun.management.compiler: HotSpot Client Compiler +os.version: 5.1 +user.home: C:\ +catalina.useNaming: true +user.timezone: Europe/Berlin +java.awt.printerjob: sun.awt.windows.WPrinterJob +file.encoding: Cp1252 +java.specification.version: 1.5 +catalina.home: d:\srv\tomcat +java.class.path: d:\srv\tomcat\bin\bootstrap.jar +user.name: SYSTEM +java.naming.factory.initial: org.apache.naming.java.javaURLContextFactory +package.definition: sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. +java.vm.specification.version: 1.0 +java.home: C:\Program Files\Java\jre1.5.0_05 +sun.arch.data.model: 32 +user.language: de +java.specification.vendor: Sun Microsystems Inc. +awt.toolkit: sun.awt.windows.WToolkit +java.vm.info: mixed mode +java.version: 1.5.0_05 +java.ext.dirs: C:\Program Files\Java\jre1.5.0_05\lib\ext +sun.boot.class.path: C:\Program Files\Java\jre1.5.0_05\lib\rt.jar;C:\Program Files\Java\jre1.5.0_05\lib\i18n.jar;C:\Program Files\Java\jre1.5.0_05\lib\sunrsasign.jar;C:\Program Files\Java\jre1.5.0_05\lib\jsse.jar;C:\Program Files\Java\jre1.5.0_05\lib\jce.jar;C:\Program Files\Java\jre1.5.0_05\lib\charsets.jar;C:\Program Files\Java\jre1.5.0_05\classes +server.loader: ${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar +java.vendor: Sun Microsystems Inc. +catalina.base: d:\srv\tomcat +file.separator: \ +java.vendor.url.bug: http://java.sun.com/cgi-bin/bugreport.cgi +common.loader: ${catalina.home}/common/classes,${catalina.home}/common/i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar +sun.io.unicode.encoding: UnicodeLittle +sun.cpu.endian: little +package.access: sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans. +sun.desktop: windows +sun.cpu.isalist: */ Added: trunk/coretest/test.html =================================================================== --- trunk/coretest/test.html (rev 0) +++ trunk/coretest/test.html 2006-02-26 21:56:16 UTC (rev 30) @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml10/DTD/xhtml10.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>Thor testing servlet</title> + </head> + <body> + <h1>Thor testing servlet</h1> + <p> + <a href="test?serverinfo">Query server information</a> + + <h2>Mail sending test</h2> + <form action="test?sendmail" method="post"> + <table> + <tr> + <th>To:</th> + <td><input type="text" name="to" /></td> + </tr> + <tr> + <th>Subject:</th> + <td><input type="text" name="subject" /></td> + </tr> + <tr> + <th>Message:</th> + <td><textarea name="message"></textarea></td> + </tr> + <tr> + <td colspan="2"><input type="submit" /></td> + </tr> + </table> + </form> + </p> + </body> +</html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-26 21:55:07
|
Revision: 29 Author: denniskempin Date: 2006-02-26 13:54:58 -0800 (Sun, 26 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=29&view=rev Log Message: ----------- commented out getAttribute funktion. Modified Paths: -------------- trunk/thor/src/org/y2k1/thor/core/Request.java Modified: trunk/thor/src/org/y2k1/thor/core/Request.java =================================================================== --- trunk/thor/src/org/y2k1/thor/core/Request.java 2006-02-25 21:47:29 UTC (rev 28) +++ trunk/thor/src/org/y2k1/thor/core/Request.java 2006-02-26 21:54:58 UTC (rev 29) @@ -80,6 +80,24 @@ this.context = request.context; this.parameter = request.parameter; } + + /*public final String getAttribute(String name) + { + return request.getAttribute(name).toString(); + } + + public final StringMap getAttributeMap() + { + Enumeration enumeration = request.getAttributeNames(); + StringMap map = new StringMap(); + + while(enumeration.hasMoreElements()) + { + String name = (String)enumeration.nextElement(); + map.put(name, request.getAttribute(name).toString()); + } + return map; + }*/ /** * @return the request URI send by the client This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-25 21:47:41
|
Revision: 28 Author: denniskempin Date: 2006-02-25 13:47:29 -0800 (Sat, 25 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=28&view=rev Log Message: ----------- Property Changed: ---------------- trunk/coretest/ Property changes on: trunk/coretest ___________________________________________________________________ Name: svn:ignore + core_report.html This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-25 21:46:21
|
Revision: 27 Author: denniskempin Date: 2006-02-25 13:46:07 -0800 (Sat, 25 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=27&view=rev Log Message: ----------- Modified Paths: -------------- trunk/coretest/WEB-INF/lib/thor.jar trunk/coretest/WEB-INF/thor.xml trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java Modified: trunk/coretest/WEB-INF/lib/thor.jar =================================================================== (Binary files differ) Modified: trunk/coretest/WEB-INF/thor.xml =================================================================== --- trunk/coretest/WEB-INF/thor.xml 2006-02-25 21:45:20 UTC (rev 26) +++ trunk/coretest/WEB-INF/thor.xml 2006-02-25 21:46:07 UTC (rev 27) @@ -4,7 +4,7 @@ xsi:schemaLocation="http://www.y2k1.org/thor/config xsd/config.xsd"> <import>org.y2k1.thor.core.test</import> - <import>org.y2k1.thor.modules</import> + <import>org.y2k1.thorx.modules</import> <servlet name="TestServlet" class="TestServlet"> <mapping>/*</mapping> Modified: trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java =================================================================== --- trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-25 21:45:20 UTC (rev 26) +++ trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-25 21:46:07 UTC (rev 27) @@ -28,7 +28,7 @@ import org.y2k1.thor.core.ServletInitializer; import org.y2k1.thor.core.exception.ModuleResolveException; import org.y2k1.thor.core.exception.ServletException; -import org.y2k1.thor.modules.MailSender; +import org.y2k1.thorx.modules.MailSender; public class TestServlet extends Servlet { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-25 21:45:31
|
Revision: 26 Author: denniskempin Date: 2006-02-25 13:45:20 -0800 (Sat, 25 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=26&view=rev Log Message: ----------- Added Paths: ----------- trunk/thor/src/org/y2k1/thorx/ trunk/thor/src/org/y2k1/thorx/modules/ trunk/thor/src/org/y2k1/thorx/modules/MailSender.java Removed Paths: ------------- trunk/thor/src/org/y2k1/thor/modules/ Copied: trunk/thor/src/org/y2k1/thorx/modules/MailSender.java (from rev 24, trunk/thor/src/org/y2k1/thor/modules/MailSender.java) =================================================================== --- trunk/thor/src/org/y2k1/thorx/modules/MailSender.java (rev 0) +++ trunk/thor/src/org/y2k1/thorx/modules/MailSender.java 2006-02-25 21:45:20 UTC (rev 26) @@ -0,0 +1,73 @@ +/* + * Copyright 2002-2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.y2k1.thorx.modules; + +import java.util.Properties; + +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.MimeMessage; + +import org.y2k1.thor.core.Module; +import org.y2k1.thor.core.ModuleInitializer; +import org.y2k1.thor.util.KeyNotFoundException; + +public final class MailSender extends Module +{ + private String host; + private String username; + private String password; + private Session session; + + public MailSender(ModuleInitializer initializer) throws KeyNotFoundException + { + super(initializer); + + this.host = initializer.getProperty("host", "localhost"); + this.username = initializer.getProperty("username", ""); + this.password = initializer.getProperty("password", ""); + + Properties properties = new Properties(); + + if(!this.username.equals("")) + { + properties.put("mail.smtp.auth", "true"); + } + if(initializer.getProperty("from", null) != null) + { + properties.put("mail.smtp.from", initializer.getProperty("from")); + } + + this.session = Session.getInstance(properties); + } + + public Message createMessage() + { + return new MimeMessage(this.session); + } + + public void sendMessage(Message message) throws MessagingException + { + message.saveChanges(); + + Transport smtp = this.session.getTransport("smtp"); + smtp.connect(this.host, this.username, this.password); + smtp.sendMessage(message, message.getAllRecipients()); + smtp.close(); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-25 21:39:49
|
Revision: 25 Author: denniskempin Date: 2006-02-25 13:38:20 -0800 (Sat, 25 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=25&view=rev Log Message: ----------- Modified Paths: -------------- trunk/coretest/.classpath trunk/coretest/WEB-INF/lib/thor.jar trunk/coretest/WEB-INF/thor.xml trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java Added Paths: ----------- trunk/coretest/WEB-INF/lib/activation.jar trunk/coretest/WEB-INF/lib/dom4j-1.6.1.jar trunk/coretest/WEB-INF/lib/imap.jar trunk/coretest/WEB-INF/lib/mailapi.jar trunk/coretest/WEB-INF/lib/pop3.jar trunk/coretest/WEB-INF/lib/smtp.jar Modified: trunk/coretest/.classpath =================================================================== --- trunk/coretest/.classpath 2006-02-25 21:36:46 UTC (rev 24) +++ trunk/coretest/.classpath 2006-02-25 21:38:20 UTC (rev 25) @@ -2,7 +2,7 @@ <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="lib" path="WEB-INF/lib/thor.jar"/> + <classpathentry kind="lib" path="WEB-INF/lib/mailapi.jar"/> <classpathentry combineaccessrules="false" kind="src" path="/thor"/> <classpathentry kind="output" path="WEB-INF/classes"/> </classpath> Added: trunk/coretest/WEB-INF/lib/activation.jar =================================================================== (Binary files differ) Property changes on: trunk/coretest/WEB-INF/lib/activation.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/coretest/WEB-INF/lib/dom4j-1.6.1.jar =================================================================== (Binary files differ) Property changes on: trunk/coretest/WEB-INF/lib/dom4j-1.6.1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/coretest/WEB-INF/lib/imap.jar =================================================================== (Binary files differ) Property changes on: trunk/coretest/WEB-INF/lib/imap.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/coretest/WEB-INF/lib/mailapi.jar =================================================================== (Binary files differ) Property changes on: trunk/coretest/WEB-INF/lib/mailapi.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/coretest/WEB-INF/lib/pop3.jar =================================================================== (Binary files differ) Property changes on: trunk/coretest/WEB-INF/lib/pop3.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/coretest/WEB-INF/lib/smtp.jar =================================================================== (Binary files differ) Property changes on: trunk/coretest/WEB-INF/lib/smtp.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/coretest/WEB-INF/lib/thor.jar =================================================================== (Binary files differ) Modified: trunk/coretest/WEB-INF/thor.xml =================================================================== --- trunk/coretest/WEB-INF/thor.xml 2006-02-25 21:36:46 UTC (rev 24) +++ trunk/coretest/WEB-INF/thor.xml 2006-02-25 21:38:20 UTC (rev 25) @@ -4,9 +4,17 @@ xsi:schemaLocation="http://www.y2k1.org/thor/config xsd/config.xsd"> <import>org.y2k1.thor.core.test</import> + <import>org.y2k1.thor.modules</import> <servlet name="TestServlet" class="TestServlet"> <mapping>/*</mapping> + <dependency name="mail" module="MailSender" /> </servlet> - + + <module name="MailSender" class="MailSender"> + <property name="host" value="mail.y2k1.org" /> + <property name="username" value="de...@xa..." /> + <property name="password" value="" /> + <property name="from" value="de...@xa..." /> + </module> </config> Modified: trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java =================================================================== --- trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-25 21:36:46 UTC (rev 24) +++ trunk/coretest/src/org/y2k1/thor/core/test/TestServlet.java 2006-02-25 21:38:20 UTC (rev 25) @@ -17,17 +17,27 @@ import java.io.IOException; +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Message.RecipientType; +import javax.mail.internet.InternetAddress; + import org.y2k1.thor.core.Request; import org.y2k1.thor.core.Response; import org.y2k1.thor.core.Servlet; import org.y2k1.thor.core.ServletInitializer; +import org.y2k1.thor.core.exception.ModuleResolveException; import org.y2k1.thor.core.exception.ServletException; +import org.y2k1.thor.modules.MailSender; public class TestServlet extends Servlet { - public TestServlet(ServletInitializer initializer) + private MailSender mailSender; + + public TestServlet(ServletInitializer initializer) throws ModuleResolveException { super(initializer); + this.mailSender = getDependency("mail", MailSender.class); } @Override @@ -36,10 +46,20 @@ try { response.getWriter().println("Hallo Welt"); + + Message message = this.mailSender.createMessage(); + message.setSubject("Test Mail"); + message.setText("This is a testmail send by the JavaMail wrapper for Thor"); + message.addRecipient(RecipientType.TO, new InternetAddress("den...@us...")); + this.mailSender.sendMessage(message); } catch(IOException e) { throw new ServletException(e); } + catch(MessagingException e) + { + throw new ServletException(e); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-25 21:37:12
|
Revision: 24 Author: denniskempin Date: 2006-02-25 13:36:46 -0800 (Sat, 25 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=24&view=rev Log Message: ----------- added mail send module Added Paths: ----------- trunk/thor/lib/mailapi.jar trunk/thor/src/org/y2k1/thor/modules/ trunk/thor/src/org/y2k1/thor/modules/MailSender.java Added: trunk/thor/lib/mailapi.jar =================================================================== (Binary files differ) Property changes on: trunk/thor/lib/mailapi.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/thor/src/org/y2k1/thor/modules/MailSender.java =================================================================== --- trunk/thor/src/org/y2k1/thor/modules/MailSender.java (rev 0) +++ trunk/thor/src/org/y2k1/thor/modules/MailSender.java 2006-02-25 21:36:46 UTC (rev 24) @@ -0,0 +1,73 @@ +/* + * Copyright 2002-2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.y2k1.thor.modules; + +import java.util.Properties; + +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.MimeMessage; + +import org.y2k1.thor.core.Module; +import org.y2k1.thor.core.ModuleInitializer; +import org.y2k1.thor.util.KeyNotFoundException; + +public final class MailSender extends Module +{ + private String host; + private String username; + private String password; + private Session session; + + public MailSender(ModuleInitializer initializer) throws KeyNotFoundException + { + super(initializer); + + this.host = initializer.getProperty("host", "localhost"); + this.username = initializer.getProperty("username", ""); + this.password = initializer.getProperty("password", ""); + + Properties properties = new Properties(); + + if(!this.username.equals("")) + { + properties.put("mail.smtp.auth", "true"); + } + if(initializer.getProperty("from", null) != null) + { + properties.put("mail.smtp.from", initializer.getProperty("from")); + } + + this.session = Session.getInstance(properties); + } + + public Message createMessage() + { + return new MimeMessage(this.session); + } + + public void sendMessage(Message message) throws MessagingException + { + message.saveChanges(); + + Transport smtp = this.session.getTransport("smtp"); + smtp.connect(this.host, this.username, this.password); + smtp.sendMessage(message, message.getAllRecipients()); + smtp.close(); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2006-02-25 21:35:44
|
Revision: 23 Author: denniskempin Date: 2006-02-25 13:35:35 -0800 (Sat, 25 Feb 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=23&view=rev Log Message: ----------- added mail send module Modified Paths: -------------- trunk/thor/.classpath Modified: trunk/thor/.classpath =================================================================== --- trunk/thor/.classpath 2006-02-25 14:13:07 UTC (rev 22) +++ trunk/thor/.classpath 2006-02-25 21:35:35 UTC (rev 23) @@ -4,5 +4,6 @@ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="lib" path="lib/servlet-api.jar"/> <classpathentry kind="lib" path="lib/dom4j-1.6.1.jar"/> + <classpathentry kind="lib" path="lib/mailapi.jar"/> <classpathentry kind="output" path="bin"/> </classpath> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2006-02-25 14:34:05
|
Task #124444 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: Document core classes Complete: 20% Status: Open Authority : denniskempin Assigned to: denniskempin Description: Extend core documentation ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124444&group_id=157243&group_project_id=46524 |
From: SourceForge.net <no...@so...> - 2006-02-25 14:17:27
|
Task #124446 has been updated. Project: Thor Webapplication Framework Subproject: core Summary: Extend servlet/module tests Complete: 55% Status: Open Authority : denniskempin Assigned to: denniskempin Description: Create extended testing classes for modules an servlet. Secure the error handling and make error display more human. ------------------------------------------------------- For more info, visit: http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=124446&group_id=157243&group_project_id=46524 |