You can subscribe to this list here.
2002 |
Jan
(11) |
Feb
(32) |
Mar
(18) |
Apr
(17) |
May
(52) |
Jun
(1) |
Jul
|
Aug
(9) |
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: Edmund H. <so...@us...> - 2002-08-23 19:03:02
|
Update of /cvsroot/xpg-xml/dig In directory usw-pr-cvs1:/tmp/cvs-serv3404 Removed Files: digcity.tex Log Message: deleted --- digcity.tex DELETED --- |
From: Edmund H. <so...@us...> - 2002-08-23 19:00:41
|
Update of /cvsroot/xpg-xml/dig/images In directory usw-pr-cvs1:/tmp/cvs-serv2549 Removed Files: startseitezoom.fig Log Message: deleted --- startseitezoom.fig DELETED --- |
From: Edmund H. <so...@us...> - 2002-08-23 18:59:42
|
Update of /cvsroot/xpg-xml/dig/images In directory usw-pr-cvs1:/tmp/cvs-serv2143 Removed Files: Gebaudeobj.fig startseite.fig startseite2.fig startseite3.fig startseite4.fig Log Message: deletet images --- Gebaudeobj.fig DELETED --- --- startseite.fig DELETED --- --- startseite2.fig DELETED --- --- startseite3.fig DELETED --- --- startseite4.fig DELETED --- |
From: Edmund H. <so...@us...> - 2002-08-22 10:06:17
|
Update of /cvsroot/xpg-xml/dig In directory usw-pr-cvs1:/tmp/cvs-serv24899 Modified Files: digcity.tex Log Message: update Index: digcity.tex =================================================================== RCS file: /cvsroot/xpg-xml/dig/digcity.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** digcity.tex 21 Aug 2002 08:06:34 -0000 1.2 --- digcity.tex 22 Aug 2002 10:06:12 -0000 1.3 *************** *** 1,3 **** ! \documentclass[oneside,a4paper,10pt]{article} \usepackage[german]{dino} --- 1,3 ---- ! \documentclass[oneside,a4paper,11pt]{article} \usepackage[german]{dino} *************** *** 9,13 **** % ---------- change paragraph layout -------------------- ! \parskip1.2ex % Vertikaler Abstand zwischen Absaetzen \parindent0cm % Nicht einruecken bei neuem Absatz --- 9,13 ---- % ---------- change paragraph layout -------------------- ! \parskip1.4ex % Vertikaler Abstand zwischen Absaetzen \parindent0cm % Nicht einruecken bei neuem Absatz *************** *** 19,27 **** \begin{document} ! \title{\textbf{Digcity} \\[15mm] ! Webinterface/Datenverwaltung \\[30mm] ! } ! \author{Haselwanter Edmund\\ ! Hofer Martin} \maketitle --- 19,26 ---- \begin{document} ! ! \title{\textbf{\huge{Digcity}} \\[5mm] ! Webinterface/Datenverwaltung \\[55mm]} ! \author{Haselwanter Edmund\\Hofer Martin} \maketitle *************** *** 33,75 **** \newpage ! \section{Vorwort} Diese Dokument beschäftigt sich mit dem Web-Interface und der Speicherung der Daten des Projektes \emph{Collaborative Modelling}. ! Ziel diese Projektes ist es umfassende 3D Daten mit einer gekennzeichneten Genauigkeit über den Gebäudestand der Stadt Graz zu erstellen, für Analysen ! aufzubereiten und für Simulationen baulicher Eingriffe und Planungen durch digitale Systeme zur Verfügung zu stellen. ! Die erforderlichen Daten werden im Rahmen der Lehrveranstaltung Collaborative ! Modelling sukzessive erstellt. Die Datengrundlage ist eindeutig definiert und nachvollziehbar, um die Verwendbarkeit zu gewährleisten. Die einmal erstellten Daten sollen somit jederzeit nach Bedarf erweitert, analysiert und für ! verschiedenste Anwendung genutzt werden. Jedes Gebäude ist ein Objekt des Datenbestandes und ist über ! Straßenname und Hausnummer eindeutig definiert. Sowohl Verwaltung als auch der ! Datenzugriff soll künftig über ein Web-Interface erfolgen. \section{Das Gebäudeobjekt} ! Jedes Gebäudeobjekt umfasst unterschiedliche Daten zu einem Gebäude \subsection{Teile des Gebäudeobjekts} Ein Gebäudeobjekt besteht aus folgenden Teilen. ! \begin{itemize} ! \item Straßenname ! \item Hausnummer bzw. Hausnummernbereich ! \item Geometriedaten in unterschiedlichen Formaten ! \item Bilder in verschiedenen Formaten ! \item \emph{Ausgezeichnete} Bild(er) z.B. Fassadenbild ! \item Attribut für die Qualität der Geometriedaten \begin{itemize} ! \item sehr gut - mittel - mangelhaft \end{itemize} ! \item Eine X-Y Koordinate die innerhalb des Gebäudes liegt. ! \end{itemize} \subsubsection*{Dateinamen} \begin{itemize} ! \item jedes Gebäude ist durch Straßenname und Hausnummer eindeutig definiert. ! \item bei den Dateinamen sind nur Kleinbuchstaben [a-z], Underscore [\_], maximal ein Bindestrich und maximal ein Punkt [.] erlaubt. Umlaute, Leer- und Sonderzeichen [ * + ; , etc. ] --- 32,99 ---- \newpage ! \section{Vorwort} Diese Dokument beschäftigt sich mit dem Webinterface und der Speicherung der Daten des Projektes \emph{Collaborative Modelling}. ! Ziel dieses Projektes ist es, umfassende 3D Daten mit einer gekennzeichneten Genauigkeit über den Gebäudestand der Stadt Graz zu erstellen, für Analysen ! aufzubereiten, und für Simulationen baulicher Eingriffe und Planungen durch digitale Systeme zur Verfügung zu stellen. ! Die erforderlichen Daten werden im Rahmen der Lehrveranstaltung \emph{Collaborative ! Modelling} sukzessive erstellt. Die Datengrundlage ist eindeutig definiert und nachvollziehbar, um die Verwendbarkeit zu gewährleisten. Die einmal erstellten Daten sollen somit jederzeit nach Bedarf erweitert, analysiert und für ! verschiedenste Anwendung genutzt werden können. Jedes Gebäude ist ein Objekt des Datenbestandes und ist über ! Straßenname und Hausnummer eindeutig definiert. Weiters ist jedem ! Gebäudeobjekt eine absolute, innerhalb des Objekts liegende X/Y Koordinate ! zugeordnet, mit welcher auch eine grafische Identifikation des Gebäudeobjekts ! möglich wird. ! ! Sowohl die Verwaltung als auch der Datenzugriff soll künftig über ein ! Webinterface erfolgen. Im vorliegenden Dokument werden die Anforderungen an das ! Webinterface und die zu verwaltenden Daten beschrieben sowie die technischen Rahmenbedingungen festgehalten. \section{Das Gebäudeobjekt} ! Zu einem Gebäudeobjekt kann es Daten in unterschiedlichem Umfang und Qualität ! geben. Zumindest Straßenname, Hausnummer bzw. Hausnummernbereich und eine X/Y ! Koordinate die innerhalb des Gebäudes liegt, muss es in einem gültigen ! Datensatz geben. Es wird von Beginn an ein vollständiger Datensatz mit allen ! Gebäuden im betrachteten Teil der Stadt Graz bereitgestellt. Weiters wird ein ! Plan ähnlich einem Katasterplan, in dem die Gebäudeobjekte als durchgezogene ! Polygone dargestellt sind, in entsprechender Auflösung bereitgestellt. Auf ! eben diese grafische Repräsentation beziehen sich die X/Y Koordinaten. ! \subsection{Teile des Gebäudeobjekts} Ein Gebäudeobjekt besteht aus folgenden Teilen. ! \begin{description} ! \item [Straßenname:]Der Straßenname dem das Gebäude zugeordnet ist. Nach ! diesem kann bei der Textsuche auch gesucht werden. ! \item [Hausnummer:]Die Hausnummer bzw. der Hausnummernbereich die bzw. der ! dem Ge\-bäu\-de zugeordnet. In Zusammenhang mit einem Straßennamen kann ! dieser für eine Einschränkung bei der Textsuche verwendet werden. ! \item [Beschreibung:]Beschreibung des Gebäudeobjekts als PDF/Winword-Datei. ! \item [Geometriedaten:]Dateien von Geometriedaten in unterschiedlichen Formaten. ! \item [Bilder:]Bilder zum Gebäude in verschiedenen Formaten. Diese müssen ! auch als Vorschaubilder (kleinere Dateigröße) gespeichert sein. ! \item [\emph{Ausgezeichnete} Bilder:] Besondere Bilder zum Gebäude ! z.B. Fassadenbild für die Weiterverarbeitung. Diese müssen ! auch als Vorschaubilder (kleinere Dateigröße) gespeichert sein. ! \item [Attribut:]Marker für die Qualität der Geometrie-, Bilddaten. Diese ! kann in der Listendarstellung als Prosa oder als Zahlenwert und in der ! grafischen Darstellung als Farbton dargestellt werden. \begin{itemize} ! \item sehr gut/1/grün - mittel/2/orange - mangelhaft/3/rot \end{itemize} ! \item [X-Y Koordinate:]Eine absolute Koordinate die innerhalb des Gebäudes liegt. ! \end{description} ! ! \subsubsection*{Dateinamen} \begin{itemize} ! \item Jedes Gebäude ist durch Straßenname und Hausnummer eindeutig definiert. ! \item Bei den Dateinamen sind nur Kleinbuchstaben [a-z], Underscore [\_], maximal ein Bindestrich und maximal ein Punkt [.] erlaubt. Umlaute, Leer- und Sonderzeichen [ * + ; , etc. ] *************** *** 78,81 **** --- 102,106 ---- \item Straße wird mit \emph{str} - Gasse mit \emph{g} - Platz mit \emph{pl} abgekürzt und nach dem entsprechenden Namen gesetzt. + \item Beschreibungen werden durch ein zusätzlich vorgestelltes \emph{d} gekennzeichnet. \item Bilder werden durch ein zusätzlich vorgestelltes \emph{p} gekennzeichnet. \item \emph{Ausgezeichnete} Bilder werden durch ein zusätzlich vorgestelltes \emph{f} gekennzeichnet. *************** *** 95,99 **** \emph{f\_mariahilferstr\_7\_a.tif} - Fassadenbild a\\ \emph{p\_mariahilferstr\_7\_b.jpg} - Bild b\\ ! \emph{hauptpl\_10\_g.dxf} - exportiertes DXF R12 Grundmodell $\rightarrow$ Über den Dateinamen ist jede Datei eindeutig dem entsprechenden Gebäudeobjekt zuordenbar.\\ --- 120,125 ---- \emph{f\_mariahilferstr\_7\_a.tif} - Fassadenbild a\\ \emph{p\_mariahilferstr\_7\_b.jpg} - Bild b\\ ! \emph{hauptpl\_10\_g.dxf} - exportiertes DXF R12 Grundmodell\\ ! \emph{d\_hauptpl\_10\_g.doc} - Beschreibungdatei zum Gebäudeobjekt\\ $\rightarrow$ Über den Dateinamen ist jede Datei eindeutig dem entsprechenden Gebäudeobjekt zuordenbar.\\ *************** *** 101,120 **** \section{Use Cases} ! Es gibt zwei(drei) verschiedene Benutzergruppen, die durch die unterschiedlichen ! Benutzungsrechte des Systems entstehen. ! \begin{itemize} ! \item Benutzer mit eingeschränkten Downloadrechten (z.B. nur Bilder), aber ! vollständiger Suchfunktion. ! \item Benutzer mit Downloadrechten und Suchfunktion. ! \item Benutzer mit Downloadrechten, Suchfunktion und Administrationsrechten ! \begin{itemize} ! \item Dateien einspielen, löschen ! \item Benutzer anlegen ! \item Qualitätsattribut vergeben ! \end{itemize} ! \end{itemize} \subsection{Benutzer mit eingeschränkten Downloadrechten} ! \subsubsection{Suche - Gebäudeidentifizierung} \label{subsub:geb}Der Benutzer startet einen Webbrowser und ruft die Digcity-Website auf. Daraufhin wird die grafische Übersichtsseite (Planauswahl) --- 127,153 ---- \section{Use Cases} ! Das Webinterface bietet unterschiedliche Funktionalität. So soll einerseits ! die Verwaltung der Daten über das Webinterface möglich sein und andererseits ! die Daten abgerufen werden können. Die Unterscheidung welcher Benutzer ! welche Funktionalität zur Verfügung gestellt bekommt wird mit Benutzerrechten ! realisiert. Dabei werden drei verschiedene Benutzergruppen, die mit ! unterschiedliche Benutzungsrechte ausgestattet werden unterschieden. ! \begin{description} ! \item [Benutzer mit eingeschränkten Downloadrechten:]Diese Gruppe von ! Benutzern verfügt über die geringsten Benutzerrechte. Hier soll zwar die ! Suche/Identifikation von Gebäudeobjekten und die Präsentation der ! vorhandenen Daten zu diesen uneingeschränkt zur Verfügung stehen, allerdings ! der Download von Dateien auf die bereitgestellten Bilder zu den ! Gebäudeobjekten eingeschränkt werden. ! \item [Benutzer mit vollständigen Downloadrechten:]Diese Gruppe von ! Benutzern verfügt zusätzlich über die Benutzerrechte für den Download aller ! zur Verfügung gestellten Dateien bzw. das Warenkorbsystem. ! \item [Administratorbenutzer:]Der Administratorbenutzer kann zusätzlich das ! Qualitätsattribut für die Gebäudeobjekte setzen/ändern, Dateien einspielen ! und löschen, Benutzer anlegen/löschen sowie deren Benutzerrechte einstellen. ! \end{description} \subsection{Benutzer mit eingeschränkten Downloadrechten} ! \subsubsection{Die Suche bzw. Gebäudeobjektidentifizierung} \label{subsub:geb}Der Benutzer startet einen Webbrowser und ruft die Digcity-Website auf. Daraufhin wird die grafische Übersichtsseite (Planauswahl) *************** *** 127,131 **** Mit einem Mausklick in einen Bereich der Planauswahl kommt man auf die nächste Zoomstufe des Planes (Zwischenschritt) im entsprechend gewählten Bereich des ! Planes. Hier kann nocheinmal ein Bereich mit einem Mausklick ausgewählt werden, woraufhin man in die Detailansicht - diese entspricht der höchsten Zoomstufe - dieses Bereiches gelangt. In dieser --- 160,169 ---- Mit einem Mausklick in einen Bereich der Planauswahl kommt man auf die nächste Zoomstufe des Planes (Zwischenschritt) im entsprechend gewählten Bereich des ! Planes. ! ! \image[0.7]{images/startseitezoom}{Planauswahl in der 2. und 3. Zoomstufe}{}{fig:Einstiegseitezoom} ! ! ! Hier kann nocheinmal ein Bereich mit einem Mausklick ausgewählt werden, woraufhin man in die Detailansicht - diese entspricht der höchsten Zoomstufe - dieses Bereiches gelangt. In dieser *************** *** 133,148 **** (z.B. Qualität der verfügbaren Daten) eingefärbt und anwählbar. - \image[0.7]{images/startseitezoom}{Planauswahl in der 2. und 3. Zoomstufe}{}{fig:Einstiegseitezoom} Mit einem Mausklick auf ein Gebäudeobjekt wird dieses als Listeneintrag ! unterhalb des Planes angezeigt und dieses Gebäudeobjekt in die Liste der ! ausgewählten Gebäude aufgenommen. Im diesem Listeneintrag werden zusätzliche ! Aktionen für das Gebäudeobjekt angeboten. Zum Beispiel kann eine ! Übersichtseite über alle verfügbaren Fotografien oder eine Webseite/ein PDF-Dokument mit zusätzlichen Informationen zu diesem ! Gebäudeobjekt abgerufen werden. ! \image[0.5]{images/Gebaudeobj}{Detailansicht und Objektliste}{}{fig:Objektliste} \subsubsection*{Text Suche} --- 171,185 ---- (z.B. Qualität der verfügbaren Daten) eingefärbt und anwählbar. Mit einem Mausklick auf ein Gebäudeobjekt wird dieses als Listeneintrag ! unterhalb des Planes angezeigt. In diesem Listeneintrag werden zusätzliche ! Aktionen/Informationen für das Gebäudeobjekt angeboten. Hier kann eine ! Übersichtseite über alle verfügbaren Fotografien oder eine Webseite/ein PDF-Dokument mit zusätzlichen Informationen zu diesem ! Gebäudeobjekt abgerufen werden. Außerdem werden alle verfügbaren Daten zu ! diesem Gebäudeobjekt(z.B. Piktogramme für dxf/dwg, Qualitätsattribut) angezeigt. ! \image[0.5]{images/zoomsimpel}{Detailansicht und Objektliste}{}{fig:Objektliste} \subsubsection*{Text Suche} *************** *** 150,197 **** \emph{Hausnummer} - und ein ``Suche starten''-Button angeboten. Dabei ist das \emph{Straßenname}-Feld für eine Textsuche zwingend auszufüllen und das ! \emph{Hausnummer}-Feld dient der Einschränkung. ! \begin{itemize} ! \item nur nach Straße Website mit der Liste aller verfügbaren Gebäude in ! dieser Straße, oder bei keinem Suchtreffer eine entsprechende Meldung und ! die Übersichtsseite (Startseite). Bei Auswahl eines Gebäudes aus der Liste ! kommt man zur Detailseite zu diesem Gebäude. ! \item Suche nach Straße und Hausnummer bringt die Detailseite zu diesem Gebäude ! oder bei keinem Suchtreffer eine entsprechende Meldung und ! die Übersichtsseite (Startseite) ! \end{itemize} \subsubsection{Download - Warenkorb} In der Detailansicht ist jeder Datei eine Checkbox zugeordnet. Ein anwählen ! dieser Checkbox gibt diese Datei in den Warenkorb. Mit einem Button ! \emph{Download} werden die angewählten Dateien gesammelt als \emph{Zipdatei} an ! den Browser geschickt worauf dieser einen Speichern Dialog präsentiert. \subsection{Administration} ! Es werden hier zwei Alternativen unterschieden, die abhängig von der ! vorbereiteten Ausgangssituation sind. ! \subsubsection{Objekte bereits mit Koordinaten verknüpft} ! \label{subsub:admin} ! Der Administrator startet einen Webbrowser und ruft die Administartionswebsite ! auf. Hier muss sich der Administrator mit Username und Passwort ! authentifizieren. Daraufhin wird die grafische Übersichtsseite (Planauswahl) ! und Suchfelder für die Suche nach Straße und Hausnummer präsentiert. ! Die Suche erfolgt wie unter Punkt \ref{subsub:geb}. ! \subsubsection*{Daten einspielen/ändern} ! Die Detailansicht zu einem Gebäudeobjekt bietet die Möglichkeiten ! \begin{itemize} ! \item Datei uploaden: Eine neue Datei zu diesem Gebäudeobjekt ins System einspielen ! \item Datei löschen: Eine Datei von diesem Gebäudeobjekt entfernen ! \item Qualitätsattribut setzten/ändern: Das Qualitätsattribut zum ! Gebäudeobjekt einstellen. ! \end{itemize} ! \subsubsection{Objekte noch nicht mit Koordinaten verknüpft} ! Selbe Funktionalität wie unter \ref{subsub:admin}. Zusätzlich kann noch einem ! Gebäudeobjekt eine XY-Koordinate zugewiesen werden. \section{Randbedingungen} \begin{itemize} \item Enthaltene Leistungen \begin{itemize} \item Anlegen der notwendigen Tables in einer Mysql Datenbank ! \item Webforms zum Einspielen der Daten(PHP) \item Webforms zum ``navigieren'' und downloaden mit 3-4 Detailstufen(PHP) \item Alle dabei anfallenden Bildmanipulationen --- 187,276 ---- \emph{Hausnummer} - und ein ``Suche starten''-Button angeboten. Dabei ist das \emph{Straßenname}-Feld für eine Textsuche zwingend auszufüllen und das ! \emph{Hausnummer}-Feld dient der Einschränkung der Suchergebnisse. ! \begin{description} ! \item [Nur nach Straße:] Bringt eine Liste aller verfügbaren Gebäude in ! dieser Straße unterhalb des Plans, oder bei keinem Suchtreffer eine ! entsprechende Meldung anstelle dieser Liste. Die Listeneinträge bieten ! wieder die Aktionen für den Abruf einer Übersichtseite über alle verfügbaren ! Fotografien oder den Abruf einer Webseite/eines PDF-Dokuments mit ! zusätzlichen Informationen zu diesem Gebäudeobjekt. ! \item [Nach Straße und Hausnummer:] Verhält sich bei einem Suchtreffer gleich ! wie ein Mausklick auf das Gebäudeobjekt bzw. liefert bei keinem Suchtreffer ! eine entsprechende Meldung anstelle des Listeneintrags. ! \end{description} ! ! \subsection{Benutzer mit vollständigen Downloadrechten} ! \subsubsection{Die Suche bzw. Gebäudeobjektidentifizierung} ! ! Die Benutzung ist identisch wie bei den Benutzer mit eingeschränkten Downloadrechten. ! Hier sind auch die zuvor nur zusätzlich z.B. als Piktogramme dargestellten ! Daten anwählbar. Ein Mausklick auf diese startet deren Download. ! ! Zusätzlich wird bei der grafischen Auswahl das Gebäudeobjekt in eine ! Vorselektionsliste die \emph{Liste der Ausgewählten Gebäude} aufgenommen, die ! ab dem ersten ausgewählten Gebäudeobjekt ständig sichtbar angezeigt wird. ! ! \image[0.5]{images/Gebaudeobj}{zusätzlich Liste der ausgewählten Gebäude}{}{fig:Ausgew} ! ! Die selbe Aktion wird bei der Textsuche durch einen Mausklick auf einen ! zusätzlichen Button bei jedem Listeneintrag ausgelöst. ! ! Sind alle gewünschten Gebäudeobjekte selektiert und scheinen somit in der ! Liste der Ausgewählten Gebäude auf kann man in die Detail- ! bzw. Warenkorbansicht der Liste der Ausgewählten Gebäude gewechselt werden. ! \subsubsection{Download - Warenkorb} In der Detailansicht ist jeder Datei eine Checkbox zugeordnet. Ein anwählen ! dieser Checkbox gibt diese Datei in den Warenkorb. ! ! \image[0.9]{images/warenkorb}{Der Warenkorb}{}{fig:warenkorb} ! Jeder Listeneintrag kann auch wieder aus dem Warenkorb entfernt werden. Mit ! einem Button \emph{Download} werden die angewählten Dateien gesammelt als ! \emph{Zipdatei} an den Browser geschickt worauf dieser einen Speichern Dialog präsentiert. \subsection{Administration} ! ! Die Administration wird zweigeteilt. Damit das bereitstellen der Dateien nicht ! zu arbeitsintensiv ausfällt, wird dieser Teil mit einem FTP-Client erledigt. ! Dazu muss am Computer des Administrators bezüglich der Gebäudeobjekte die ! exakt gleiche Verzeichnisstruktur wie am FTP-Server eingerichtet werden. ! Dazu wird die Dateistruktur am FTP-Server mit den bereitgestellten Daten ! erstellt. ! \begin{verbatim} ! /straßenname/hausnummer/dateiart/dateien.* ! ! /hauptpl/3/f/f_hauptpl_3_a.jpg ! /hauptpl/3/p/p_hauptpl_3_a.tif ! /hauptpl/3/dxf/hauptpl_3_d1.dxf ! /hauptpl/3/dxf/hauptpl_3_g.dxf ! /hauptpl/3/dwg/hauptpl_3.dwg ! /hauptpl/3/d/hauptpl_3_g.doc ! \end{verbatim} ! ! Damit wird erreicht, dass einerseits die Daten aufgrund der ! Verzeichnisstruktur eindeutig einem Gebäudeobjekt zugeordnet sind, diese nach ! Kategorien unterscheidbar bleiben und andererseits das bereitstellen der Daten ! einfach erreicht werden kann. ! ! Mit dem Webinterface wird die Benutzerverwaltung bereitgestellt. Es können ! Benutzer angelegt und gelöscht, sowie deren Benutzerrechte eingestellt werden. ! Weiters kann das Qualitätsattribut zum Gebäudeobjekt gesetzt/verändert werden. ! Eine weitere Funktion erstellt zu allen bereitgestellten Bildern ein ! Vorschaubild vordefinierter Größe. ! ! Außerdem kann jedes Gebäudeobjekt einzeln hinsichtlich der bereitgestellten ! Daten bearbeitet werden. Das heißt löschen/hinzufügen jeder einzelnen Datei ! ist auch mit dem Webinterface möglich. \section{Randbedingungen} + + Die benötigten Module/Versionsnummern für PHP/MYSQL/Apache werden noch + bekanntgegeben. + \begin{itemize} \item Enthaltene Leistungen \begin{itemize} \item Anlegen der notwendigen Tables in einer Mysql Datenbank ! \item Webforms zum Administrieren der Daten(PHP) \item Webforms zum ``navigieren'' und downloaden mit 3-4 Detailstufen(PHP) \item Alle dabei anfallenden Bildmanipulationen *************** *** 206,210 **** \item ``Stufenloses'' zoomen \item Optisch ausgefeilte Gestaltung/Design ! \item Einarbeitung von Designvorschlägen/Designänderungen \item Anbindung an das Tug-Online System --- 285,289 ---- \item ``Stufenloses'' zoomen \item Optisch ausgefeilte Gestaltung/Design ! \item Einarbeitung von Designvorschlägen/Designänderungen(grafische) \item Anbindung an das Tug-Online System |
From: Edmund H. <so...@us...> - 2002-08-21 08:06:59
|
Update of /cvsroot/xpg-xml/dig In directory usw-pr-cvs1:/tmp/cvs-serv29399 Modified Files: digcity.tex Log Message: updated Index: digcity.tex =================================================================== RCS file: /cvsroot/xpg-xml/dig/digcity.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** digcity.tex 2 Aug 2002 16:59:07 -0000 1.1 --- digcity.tex 21 Aug 2002 08:06:34 -0000 1.2 *************** *** 97,101 **** \emph{hauptpl\_10\_g.dxf} - exportiertes DXF R12 Grundmodell ! $\rightarrow$ Über den Dateinamen ist jede Datei eindeutig dem entsprechenden Gebäudeobjekt zuordenbar. $\rightarrow$ Über die Dateiendung ist eindeutig der Inhalt der Datei definiert. --- 97,101 ---- \emph{hauptpl\_10\_g.dxf} - exportiertes DXF R12 Grundmodell ! $\rightarrow$ Über den Dateinamen ist jede Datei eindeutig dem entsprechenden Gebäudeobjekt zuordenbar.\\ $\rightarrow$ Über die Dateiendung ist eindeutig der Inhalt der Datei definiert. *************** *** 104,110 **** Benutzungsrechte des Systems entstehen. \begin{itemize} ! \item Benutzer mit eingeschränkten Downloadrechten (z.B. nur Bilder) ! \item Benutzer mit Downloadrechten ! \item Benutzer mit Administrationsrechten \begin{itemize} \item Dateien einspielen, löschen --- 104,111 ---- Benutzungsrechte des Systems entstehen. \begin{itemize} ! \item Benutzer mit eingeschränkten Downloadrechten (z.B. nur Bilder), aber ! vollständiger Suchfunktion. ! \item Benutzer mit Downloadrechten und Suchfunktion. ! \item Benutzer mit Downloadrechten, Suchfunktion und Administrationsrechten \begin{itemize} \item Dateien einspielen, löschen *************** *** 127,133 **** Zoomstufe des Planes (Zwischenschritt) im entsprechend gewählten Bereich des Planes. Hier kann nocheinmal ein Bereich mit einem Mausklick ausgewählt ! werden, woraufhin man in die Detailansicht dieses Bereiches gelangt. In dieser Ansicht sind die Gebäude (bzw. Objekte) entsprechend ihrem Detailattribut ! (z.B. Planqualität) eingefärbt und anwählbar. \image[0.7]{images/startseitezoom}{Planauswahl in der 2. und 3. Zoomstufe}{}{fig:Einstiegseitezoom} --- 128,135 ---- Zoomstufe des Planes (Zwischenschritt) im entsprechend gewählten Bereich des Planes. Hier kann nocheinmal ein Bereich mit einem Mausklick ausgewählt ! werden, woraufhin man in die Detailansicht - diese entspricht der höchsten ! Zoomstufe - dieses Bereiches gelangt. In dieser Ansicht sind die Gebäude (bzw. Objekte) entsprechend ihrem Detailattribut ! (z.B. Qualität der verfügbaren Daten) eingefärbt und anwählbar. \image[0.7]{images/startseitezoom}{Planauswahl in der 2. und 3. Zoomstufe}{}{fig:Einstiegseitezoom} *************** *** 136,148 **** Mit einem Mausklick auf ein Gebäudeobjekt wird dieses als Listeneintrag unterhalb des Planes angezeigt und dieses Gebäudeobjekt in die Liste der ! ausgewählten Gebäude aufgenommen. Im unteren Listeneintrag werden zusätzliche Aktionen für das Gebäudeobjekt angeboten. Zum Beispiel kann eine Übersichtseite über alle verfügbaren Fotografien oder eine ! Webseite mit zusätzlichen Informationen abgerufen werden. \image[0.5]{images/Gebaudeobj}{Detailansicht und Objektliste}{}{fig:Objektliste} \subsubsection*{Text Suche} ! Es werden immer zwei Textfelder und ein ``Suche starten''-Button angeboten. \begin{itemize} \item nur nach Straße Website mit der Liste aller verfügbaren Gebäude in --- 138,154 ---- Mit einem Mausklick auf ein Gebäudeobjekt wird dieses als Listeneintrag unterhalb des Planes angezeigt und dieses Gebäudeobjekt in die Liste der ! ausgewählten Gebäude aufgenommen. Im diesem Listeneintrag werden zusätzliche Aktionen für das Gebäudeobjekt angeboten. Zum Beispiel kann eine Übersichtseite über alle verfügbaren Fotografien oder eine ! Webseite/ein PDF-Dokument mit zusätzlichen Informationen zu diesem ! Gebäudeobjekt abgerufen werden. \image[0.5]{images/Gebaudeobj}{Detailansicht und Objektliste}{}{fig:Objektliste} \subsubsection*{Text Suche} ! Es werden zu jeder Zeit zwei Suchfelder - \emph{Straßenname} und ! \emph{Hausnummer} - und ein ``Suche starten''-Button angeboten. Dabei ist das ! \emph{Straßenname}-Feld für eine Textsuche zwingend auszufüllen und das ! \emph{Hausnummer}-Feld dient der Einschränkung. \begin{itemize} \item nur nach Straße Website mit der Liste aller verfügbaren Gebäude in |
From: Edmund H. <so...@us...> - 2002-08-02 17:03:16
|
Update of /cvsroot/xpg-xml/dig/images In directory usw-pr-cvs1:/tmp/cvs-serv10044 Added Files: Gebaudeobj.fig startseite.fig startseite2.fig startseite3.fig startseite4.fig startseitezoom.fig Log Message: next few files :-) --- NEW FILE: Gebaudeobj.fig --- #FIG 3.2 Portrait Center Metric A4 100.00 Single -2 1200 2 6 585 2475 5647 3150 2 2 0 1 7 7 48 0 20 0.000 0 0 -1 0 0 5 585 2813 5647 2813 5647 3150 585 3150 585 2813 3 3 0 1 0 7 49 0 20 0.000 0 0 0 8 670 2897 1682 2560 3032 2729 3876 2729 4972 2729 5142 2982 3285 3066 2442 2982 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -6 6 585 2655 5670 3330 2 2 0 1 7 7 43 0 20 0.000 0 0 -1 0 0 5 585 2993 5647 2993 5647 3330 585 3330 585 2993 3 3 0 1 0 7 44 0 20 0.000 0 0 0 8 670 3077 1682 2740 3032 2909 3876 2909 4972 2909 5142 3162 3285 3246 2442 3162 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -6 6 3150 3375 3600 3555 2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 3150 3420 3555 3420 3555 3555 3150 3555 3150 3420 4 0 0 30 0 0 12 0.0000 4 180 405 3195 3510 zeige\001 -6 6 4410 3375 4860 3555 2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 4410 3420 4815 3420 4815 3555 4410 3555 4410 3420 4 0 0 30 0 0 12 0.0000 4 180 405 4455 3510 zeige\001 -6 2 2 0 1 0 7 50 0 20 0.000 0 0 -1 0 0 5 3465 855 4905 855 4905 2835 3465 2835 3465 855 2 1 0 1 0 7 50 0 20 0.000 0 0 -1 0 0 2 4455 855 4455 2835 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1845 630 3040 630 3040 785 1845 785 1845 630 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1845 945 3040 945 3040 1100 1845 1100 1845 945 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1890 1305 1890 2655 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 765 2385 3015 2385 2 1 0 6 0 7 50 0 41 0.000 0 0 -1 0 0 8 1170 1750 2121 1620 2835 2026 2363 2565 2121 2159 1653 1890 1170 1750 1411 1750 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 765 1305 3015 1305 3015 2745 765 2745 765 1305 2 1 0 1 0 7 38 0 20 0.000 0 0 -1 0 0 2 675 3375 5220 3375 2 1 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 2 2745 3150 2745 3600 2 2 0 1 0 7 40 0 20 0.000 0 0 -1 0 0 5 675 3150 5220 3150 5220 3600 675 3600 675 3150 2 1 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 2 2115 3150 2115 3600 2 1 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 2 4005 3150 4005 3600 2 1 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 2 3465 1080 4905 1080 4 0 0 50 0 0 12 0.0000 4 135 1035 765 765 Stra\337enname:\001 4 0 0 50 0 0 12 0.0000 4 135 1050 765 1080 Hausnummer:\001 4 0 0 30 0 0 12 0.0000 4 135 450 720 3285 Name\001 4 0 0 30 0 0 12 0.0000 4 180 840 720 3510 Hauptplatz\001 4 0 0 30 0 0 12 0.0000 4 135 195 2340 3285 Nr\001 4 0 0 30 0 0 12 0.0000 4 135 90 2385 3510 1\001 4 0 0 30 0 0 12 0.0000 4 135 450 3195 3285 Bilder\001 4 0 0 30 0 0 12 0.0000 4 135 825 4320 3285 Zusatzinfo\001 4 0 0 50 0 0 12 0.0000 4 180 1425 3465 720 Gew\344hlte Objekte:\001 4 0 0 50 0 0 12 0.0000 4 180 840 3555 1260 Hauptplatz\001 4 0 0 50 0 0 12 0.0000 4 135 90 4635 1260 1\001 4 0 0 30 0 0 12 0.0000 4 135 450 3555 990 Name\001 4 0 0 30 0 0 12 0.0000 4 135 195 4590 990 Nr\001 --- NEW FILE: startseite.fig --- #FIG 3.2 Landscape Center Metric A4 100.00 Single -2 1200 2 6 1080 630 4680 1170 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2250 945 4635 945 4635 1125 2250 1125 2250 945 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2250 630 4635 630 4635 810 2250 810 2250 630 4 0 0 50 0 0 12 0.0000 4 135 1035 1125 810 Stra\337enname:\001 4 0 0 50 0 0 12 0.0000 4 135 1050 1125 1125 Hausnummer:\001 -6 6 1080 1350 5490 3510 6 2880 1530 3240 1735 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 8 2880 1559 3086 1530 3240 1618 3137 1735 3086 1647 2983 1589 2880 1559 2931 1559 -6 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 1350 2250 3510 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3420 1350 3420 3510 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4500 1350 4500 3510 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1125 1350 5490 1350 5490 3510 1125 3510 1125 1350 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1080 2430 5490 2430 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2610 1350 2610 2430 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2880 1350 2880 2430 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3150 1350 3150 2430 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 1890 3420 1890 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 1620 3420 1620 -6 6 3520 2077 4885 2855 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 8 3520 2187 4300 2080 4885 2413 4494 2855 4300 2522 3910 2303 3520 2187 3714 2187 -6 4 0 0 50 0 0 12 0.0000 4 180 360 5040 540 login\001 --- NEW FILE: startseite2.fig --- #FIG 3.2 Portrait Center Metric A4 100.00 Single -2 1200 2 6 2880 1530 3060 1632 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 8 2880 1544 2983 1530 3060 1574 3009 1632 2983 1588 2932 1559 2880 1544 2906 1544 -6 6 990 2475 3690 2835 2 2 0 1 7 7 48 0 20 0.000 0 0 -1 0 0 5 990 2655 3690 2655 3690 2835 990 2835 990 2655 3 3 0 1 0 7 49 0 20 0.000 0 0 0 8 1035 2700 1575 2520 2295 2610 2745 2610 3330 2610 3420 2745 2430 2790 1980 2745 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -6 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2205 675 3400 675 3400 830 2205 830 2205 675 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2205 990 3400 990 3400 1145 2205 1145 2205 990 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 1350 2250 2745 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1125 2430 3375 2430 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1125 1350 3375 1350 3375 2745 1125 2745 1125 1350 4 0 0 50 0 0 12 0.0000 4 135 1035 1125 810 Stra\337enname:\001 4 0 0 50 0 0 12 0.0000 4 135 1050 1125 1125 Hausnummer:\001 4 0 0 50 0 0 12 0.0000 4 180 360 3060 540 login\001 --- NEW FILE: startseite3.fig --- #FIG 3.2 Landscape Center Metric A4 100.00 Single -2 1200 2 6 2700 1575 3176 1845 2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 8 2700 1612 2972 1575 3176 1691 3041 1845 2972 1729 2838 1652 2700 1612 2769 1612 -6 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2205 675 3400 675 3400 830 2205 830 2205 675 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2205 990 3400 990 3400 1145 2205 1145 2205 990 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 1350 2250 3510 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1080 2430 3375 2430 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1125 1350 3375 1350 3375 3510 1125 3510 1125 1350 4 0 0 50 0 0 12 0.0000 4 135 1035 1125 810 Stra\337enname:\001 4 0 0 50 0 0 12 0.0000 4 135 1050 1125 1125 Hausnummer:\001 4 0 0 50 0 0 12 0.0000 4 180 360 3060 540 login\001 --- NEW FILE: startseite4.fig --- #FIG 3.2 Landscape Center Metric A4 100.00 Single -2 1200 2 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2205 675 3400 675 3400 830 2205 830 2205 675 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 2205 990 3400 990 3400 1145 2205 1145 2205 990 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2250 1350 2250 3510 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1080 2430 3375 2430 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1125 1350 3375 1350 3375 3510 1125 3510 1125 1350 2 1 0 6 0 7 50 0 41 0.000 0 0 -1 0 0 8 1530 1795 2481 1665 3195 2071 2723 2610 2481 2204 2013 1935 1530 1795 1771 1795 4 0 0 50 0 0 12 0.0000 4 135 1035 1125 810 Stra\337enname:\001 4 0 0 50 0 0 12 0.0000 4 135 1050 1125 1125 Hausnummer:\001 4 0 0 50 0 0 12 0.0000 4 180 360 3060 540 login\001 --- NEW FILE: startseitezoom.fig --- #FIG 3.2 Portrait Center Metric A4 100.00 Single -2 1200 2 6 1980 1485 2456 1755 2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 8 1980 1522 2252 1485 2456 1601 2321 1755 2252 1639 2118 1562 1980 1522 2049 1522 -6 6 315 2385 3015 2745 2 2 0 1 7 7 48 0 20 0.000 0 0 -1 0 0 5 315 2565 3015 2565 3015 2745 315 2745 315 2565 3 3 0 1 0 7 49 0 20 0.000 0 0 0 8 360 2610 900 2430 1620 2520 2070 2520 2655 2520 2745 2655 1755 2700 1305 2655 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -6 6 3825 2430 6525 2790 2 2 0 1 7 7 48 0 20 0.000 0 0 -1 0 0 5 3825 2610 6525 2610 6525 2790 3825 2790 3825 2610 3 3 0 1 0 7 49 0 20 0.000 0 0 0 8 3870 2655 4410 2475 5130 2565 5580 2565 6165 2565 6255 2700 5265 2745 4815 2700 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -6 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 3375 405 3375 2745 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1485 585 2680 585 2680 740 1485 740 1485 585 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1485 900 2680 900 2680 1055 1485 1055 1485 900 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1530 1260 1530 2610 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 405 2340 2655 2340 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 5085 585 6280 585 6280 740 5085 740 5085 585 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 5085 900 6280 900 6280 1055 5085 1055 5085 900 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 5130 1260 5130 2610 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 4005 2340 6255 2340 2 1 0 6 0 7 50 0 41 0.000 0 0 -1 0 0 8 4410 1705 5361 1575 6075 1981 5603 2520 5361 2114 4893 1845 4410 1705 4651 1705 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 4005 1260 6255 1260 6255 2700 4005 2700 4005 1260 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 405 1260 2655 1260 2655 2655 405 2655 405 1260 4 0 0 50 0 0 12 0.0000 4 135 1035 405 720 Stra\337enname:\001 4 0 0 50 0 0 12 0.0000 4 135 1050 405 1035 Hausnummer:\001 4 0 0 50 0 0 12 0.0000 4 135 1035 4005 720 Stra\337enname:\001 4 0 0 50 0 0 12 0.0000 4 135 1050 4005 1035 Hausnummer:\001 |
From: Edmund H. <so...@us...> - 2002-08-02 16:59:10
|
Update of /cvsroot/xpg-xml/dig In directory usw-pr-cvs1:/tmp/cvs-serv9111 Added Files: digcity.tex Log Message: initial checkin. wer die mails nimmer bekommen will bitte von der commit mailinglist runtergehen. verwend des cvs mal anderweitig :-) --- NEW FILE: digcity.tex --- \documentclass[oneside,a4paper,10pt]{article} \usepackage[german]{dino} \usepackage{isolatin1} % ---------- change paragraph layout -------------------- \parskip1.2ex % Vertikaler Abstand zwischen Absaetzen \parindent0cm % Nicht einruecken bei neuem Absatz % ---------- change name of tables -------------------- \renewcommand{\tablename}{Tabelle} \global\def\tableCaption{\tablename} \begin{document} \title{\textbf{Digcity} \\[15mm] Webinterface/Datenverwaltung \\[30mm] } \author{Haselwanter Edmund\\ Hofer Martin} \maketitle \newpage \tableofcontents{} \newpage \section{Vorwort} Diese Dokument beschäftigt sich mit dem Web-Interface und der Speicherung der Daten des Projektes \emph{Collaborative Modelling}. Ziel diese Projektes ist es umfassende 3D Daten mit einer gekennzeichneten Genauigkeit über den Gebäudestand der Stadt Graz zu erstellen, für Analysen aufzubereiten und für Simulationen baulicher Eingriffe und Planungen durch digitale Systeme zur Verfügung zu stellen. Die erforderlichen Daten werden im Rahmen der Lehrveranstaltung Collaborative Modelling sukzessive erstellt. Die Datengrundlage ist eindeutig definiert und nachvollziehbar, um die Verwendbarkeit zu gewährleisten. Die einmal erstellten Daten sollen somit jederzeit nach Bedarf erweitert, analysiert und für verschiedenste Anwendung genutzt werden. Jedes Gebäude ist ein Objekt des Datenbestandes und ist über Straßenname und Hausnummer eindeutig definiert. Sowohl Verwaltung als auch der Datenzugriff soll künftig über ein Web-Interface erfolgen. \section{Das Gebäudeobjekt} Jedes Gebäudeobjekt umfasst unterschiedliche Daten zu einem Gebäude \subsection{Teile des Gebäudeobjekts} Ein Gebäudeobjekt besteht aus folgenden Teilen. \begin{itemize} \item Straßenname \item Hausnummer bzw. Hausnummernbereich \item Geometriedaten in unterschiedlichen Formaten \item Bilder in verschiedenen Formaten \item \emph{Ausgezeichnete} Bild(er) z.B. Fassadenbild \item Attribut für die Qualität der Geometriedaten \begin{itemize} \item sehr gut - mittel - mangelhaft \end{itemize} \item Eine X-Y Koordinate die innerhalb des Gebäudes liegt. \end{itemize} \subsubsection*{Dateinamen} \begin{itemize} \item jedes Gebäude ist durch Straßenname und Hausnummer eindeutig definiert. \item bei den Dateinamen sind nur Kleinbuchstaben [a-z], Underscore [\_], maximal ein Bindestrich und maximal ein Punkt [.] erlaubt. Umlaute, Leer- und Sonderzeichen [ * + ; , etc. ] dürfen nicht verwendet werden, um eine Programm/Plattform unabhängige und englischsprachige Kompatibilität zu gewährleisten. \item Straße wird mit \emph{str} - Gasse mit \emph{g} - Platz mit \emph{pl} abgekürzt und nach dem entsprechenden Namen gesetzt. \item Bilder werden durch ein zusätzlich vorgestelltes \emph{p} gekennzeichnet. \item \emph{Ausgezeichnete} Bilder werden durch ein zusätzlich vorgestelltes \emph{f} gekennzeichnet. \item Bildbezeichner, Straßenname und Nummer bzw. Nummernbereich werden durch ein Underscore (\_) getrennt und sind nur in dieser Reihenfolge erlaubt. \item Die Datentypkennung wird mit einem führenden Punkt [.] eingeleitet [.dwg, .dxf, .jpg, etc.]. \item Besitzt ein Gebäude mehrere Hausnummern werden diese in der Form \emph{10-14} geschrieben. \end{itemize} \emph{mariahilferstr\_7.dwg} - AutoCad Konstruktionsdatei\\ \emph{mariahilferstr\_7\_g.dxf} - exportiertes DXF R12 Grundmodell (Grundfläche, Fassaden, Dach)\\ \emph{mariahilferstr\_7\_d1.dxf} - exportiertes DXF R12 Detaildatei (Gaupen, Kamine)\\ \emph{f\_mariahilferstr\_7\_a.tif} - Fassadenbild a\\ \emph{p\_mariahilferstr\_7\_b.jpg} - Bild b\\ \emph{hauptpl\_10\_g.dxf} - exportiertes DXF R12 Grundmodell $\rightarrow$ Über den Dateinamen ist jede Datei eindeutig dem entsprechenden Gebäudeobjekt zuordenbar. $\rightarrow$ Über die Dateiendung ist eindeutig der Inhalt der Datei definiert. \section{Use Cases} Es gibt zwei(drei) verschiedene Benutzergruppen, die durch die unterschiedlichen Benutzungsrechte des Systems entstehen. \begin{itemize} \item Benutzer mit eingeschränkten Downloadrechten (z.B. nur Bilder) \item Benutzer mit Downloadrechten \item Benutzer mit Administrationsrechten \begin{itemize} \item Dateien einspielen, löschen \item Benutzer anlegen \item Qualitätsattribut vergeben \end{itemize} \end{itemize} \subsection{Benutzer mit eingeschränkten Downloadrechten} \subsubsection{Suche - Gebäudeidentifizierung} \label{subsub:geb}Der Benutzer startet einen Webbrowser und ruft die Digcity-Website auf. Daraufhin wird die grafische Übersichtsseite (Planauswahl) und Suchfelder für die Suche nach Straße und Hausnummer präsentiert. Hier kann sich der Benutzer mit Username und Passwort authentifizieren (login). \image[0.3]{images/startseite2}{Planauswahl und Suchfelder}{}{fig:Einstiegseite} \subsubsection*{Grafische Suche} Mit einem Mausklick in einen Bereich der Planauswahl kommt man auf die nächste Zoomstufe des Planes (Zwischenschritt) im entsprechend gewählten Bereich des Planes. Hier kann nocheinmal ein Bereich mit einem Mausklick ausgewählt werden, woraufhin man in die Detailansicht dieses Bereiches gelangt. In dieser Ansicht sind die Gebäude (bzw. Objekte) entsprechend ihrem Detailattribut (z.B. Planqualität) eingefärbt und anwählbar. \image[0.7]{images/startseitezoom}{Planauswahl in der 2. und 3. Zoomstufe}{}{fig:Einstiegseitezoom} Mit einem Mausklick auf ein Gebäudeobjekt wird dieses als Listeneintrag unterhalb des Planes angezeigt und dieses Gebäudeobjekt in die Liste der ausgewählten Gebäude aufgenommen. Im unteren Listeneintrag werden zusätzliche Aktionen für das Gebäudeobjekt angeboten. Zum Beispiel kann eine Übersichtseite über alle verfügbaren Fotografien oder eine Webseite mit zusätzlichen Informationen abgerufen werden. \image[0.5]{images/Gebaudeobj}{Detailansicht und Objektliste}{}{fig:Objektliste} \subsubsection*{Text Suche} Es werden immer zwei Textfelder und ein ``Suche starten''-Button angeboten. \begin{itemize} \item nur nach Straße Website mit der Liste aller verfügbaren Gebäude in dieser Straße, oder bei keinem Suchtreffer eine entsprechende Meldung und die Übersichtsseite (Startseite). Bei Auswahl eines Gebäudes aus der Liste kommt man zur Detailseite zu diesem Gebäude. \item Suche nach Straße und Hausnummer bringt die Detailseite zu diesem Gebäude oder bei keinem Suchtreffer eine entsprechende Meldung und die Übersichtsseite (Startseite) \end{itemize} \subsubsection{Download - Warenkorb} In der Detailansicht ist jeder Datei eine Checkbox zugeordnet. Ein anwählen dieser Checkbox gibt diese Datei in den Warenkorb. Mit einem Button \emph{Download} werden die angewählten Dateien gesammelt als \emph{Zipdatei} an den Browser geschickt worauf dieser einen Speichern Dialog präsentiert. \subsection{Administration} Es werden hier zwei Alternativen unterschieden, die abhängig von der vorbereiteten Ausgangssituation sind. \subsubsection{Objekte bereits mit Koordinaten verknüpft} \label{subsub:admin} Der Administrator startet einen Webbrowser und ruft die Administartionswebsite auf. Hier muss sich der Administrator mit Username und Passwort authentifizieren. Daraufhin wird die grafische Übersichtsseite (Planauswahl) und Suchfelder für die Suche nach Straße und Hausnummer präsentiert. Die Suche erfolgt wie unter Punkt \ref{subsub:geb}. \subsubsection*{Daten einspielen/ändern} Die Detailansicht zu einem Gebäudeobjekt bietet die Möglichkeiten \begin{itemize} \item Datei uploaden: Eine neue Datei zu diesem Gebäudeobjekt ins System einspielen \item Datei löschen: Eine Datei von diesem Gebäudeobjekt entfernen \item Qualitätsattribut setzten/ändern: Das Qualitätsattribut zum Gebäudeobjekt einstellen. \end{itemize} \subsubsection{Objekte noch nicht mit Koordinaten verknüpft} Selbe Funktionalität wie unter \ref{subsub:admin}. Zusätzlich kann noch einem Gebäudeobjekt eine XY-Koordinate zugewiesen werden. \section{Randbedingungen} \begin{itemize} \item Enthaltene Leistungen \begin{itemize} \item Anlegen der notwendigen Tables in einer Mysql Datenbank \item Webforms zum Einspielen der Daten(PHP) \item Webforms zum ``navigieren'' und downloaden mit 3-4 Detailstufen(PHP) \item Alle dabei anfallenden Bildmanipulationen \item Authentifizierung mit Username und Passwort (nicht Tug-Online!) \item Bis 1. Oktober \end{itemize} \item Nicht enthalten: \begin{itemize} \item Das eigentliche ``Einspielen'' der Daten \item Das Installieren/Aufsetzen des Servers mit Apache/PHP/Mysql \item ``Stufenloses'' zoomen \item Optisch ausgefeilte Gestaltung/Design \item Einarbeitung von Designvorschlägen/Designänderungen \item Anbindung an das Tug-Online System \end{itemize} \end{itemize} 2800 Euro inkl. aller notwendigen Abgaben. %%%%%%%%%%%%% \end{document} %%% Local Variables: %%% mode: latex %%% TeX-master: t %%% End: |
From: Edmund H. <so...@us...> - 2002-08-02 16:47:55
|
Update of /cvsroot/xpg-xml/dig/images In directory usw-pr-cvs1:/tmp/cvs-serv3560/images Log Message: Directory /cvsroot/xpg-xml/dig/images added to the repository |
From: Edmund H. <so...@us...> - 2002-08-02 16:39:13
|
Update of /cvsroot/xpg-xml/dig In directory usw-pr-cvs1:/tmp/cvs-serv32362/dig Log Message: Directory /cvsroot/xpg-xml/dig added to the repository |
From: G?nther B. <br...@us...> - 2002-06-05 14:00:18
|
Update of /cvsroot/xpg-xml/doc In directory usw-pr-cvs1:/tmp/cvs-serv17625 Added Files: Kap4ff.tex Log Message: Chapter 4 ff of report / corrected --- NEW FILE: Kap4ff.tex --- \documentclass[oneside,a4paper,10pt]{book} \usepackage{german} \usepackage{isolatin1} \usepackage[dinodraft,german]{dino} \usepackage{amssymb} %\usepackage{acronym} % ---------- change paragraph layout -------------------- \parskip1.2ex % Vertikaler Abstand zwischen Absaetzen \parindent0cm % Nicht einrücken bei neuem Absatz % ---------- change name of tables -------------------- \renewcommand{\tablename}{Tabelle} \global\def\tableCaption{\tablename} % ------------------- settings for pdf documents ---------------------------- \expandafter\ifx\csname pdfoutput\endcsname\relax \else \hypersetup{backref, % pdfauthor={\ehaselwanter}, pdftitle={Seminarbericht XPG-XDML}, pdfsubject={}, % colorlinks=true, %% linkcolor=webgreen, %defined below %% filecolor=webbrown, %defined below %% citecolor=webgreen, %defined below % pdfpagemode=None, a4paper=true, % bookmarksopen=false } % %Define some eye-pleasing colors for this document % % \definecolor{webgreen}{rgb}{0,.5,0} % \definecolor{webbrown}{rgb}{.6,0,0} \fi \setcounter{page}{1} \begin{document} \chapter{Anwendungsbeispiele} \label{sec:Anwendungsbeispiele} \section{\LaTeX: flexible Handhabung ganzer Dokumentblöcke} Während der Erstellung größerer Dokumente kann es immer wieder vorkommen, dass es notwendig, ist Teile eines Dokuments umzustrukturieren und dabei ganze Blöcke des Dokuments zu verschieben. Dabei kann es passieren, dass aus einem ursprünglich eigenen Kapitel nunmehr ein Unterkapitel wird, oder umgekehrt, aus einem anfangs nur als kleines Unterkapitel gedachten Block nun ein eigenes, großes Kapitel wird. Das bedeutet aber, dass Änderungen in der Dokumentenhierarchie vorgenommen werden. Nun ist es jedoch in Textbeschreibungssprachen wie \LaTeX\ der Fall, dass diese Heirarchie eines Dokuments eine sehr genau vorgegebene Form haben muß - bei \LaTeX\ sind dies der Reihe nach {\em part, chapter, section, subsection, subsubsection, paragraph, subparagraph}. Dies bedeutet nun aber, wenn bei solchen Umstrukturierungen aus Unterkapiteln eigene Kapitel werden (und analog umgekehrt), dass diese Modifikationen der Dokumenthierarchie händisch nachgebessert werden müssen: aus einem {\em section} wird ein {\em chapter}, aus dem darin enthaltenen {\em subsection} wird ein {\em section} und gleich weiter im ganzen verschobenen Block (respektive umgekehrt wenn aus einem Kapitel ein Unterkapitel wird). Dieses händische Nachbessern wird obsolet, wenn man in der Dokumenthierarchie nur ein Element (z.B. {\em section }) kennt, unabhängig von der jeweiligen Hierarchieebene - man dieses also beliebig ineinander verschachteln kann. Aus der Tiefe dieser Verschachtelung erhält man dann die Ebene der Hierarchie für die Übersetzung in ein Zielformat (wie \LaTeX ) in dem man je Ebene einen unterschiedlichen Bezeichner hat. Eine solche Dokumentenhierarchie kann nun zum Beispiel ein Aussehen wie folgt haben: \begin{verbatim} <document> <section> <title>1. Kapitel</title> <para> ... </para> </section> <section> <title>2. Kapitel</title> <para> ... </para> <section> <title>1. Abschnitt</title> <para> ... </para> </section> <section> <title>2. Abschnitt</title> <para> ... </para> </section> </section> </document> \end{verbatim} Der eigentliche Inhalt der einzelnen Abschnitte befindet sich hier in den \texttt{<para>} Elementen, und wird entsprechend der weiters darin enthaltenen Elemente ins Zielformat übersetzt. Die \texttt{<title>} Elemente enthalten die Überschriften der einzelnen (Unter-)Kapitel. Für die \texttt{<section>} Elemente wird die jeweilige Verschachtelungstiefe akkumuliert (d.h. bei einen Starttag um eins erhöht und beim Endtag wieder um eins erniedrigt) und entsprechend dieser dann der entsprechende Bezeichner in der Zielsprache ausgewählt. Zu obigem Beispiel kann nun die dazugehörige Dokumentenhierarchie in \LaTeX\ folgendermaßen aussehen: \begin{verbatim} \begin{document} \section{1. Kapitel} ... \section{2. Kapitel} ... \subsection{1. Abschnitt} ... \subsection{2. Abschnitt} ... \end{document} \end{verbatim} \section{Rechnen} Häufig kommt es vor, dass man eine ganze Menge von Daten als Input hat, sich jedoch nicht für diese gesamte Datenflut interessiert, sondern nur ein paar davon abgeleitete Daten benötigt,womit sich dann meist besser die gewünschten Aussagen belegen lassen. Das heißt, wenn als Input zum Beispiel eine ganze Tabelle mit Meßwerten zu Verfügung steht, ist es möglich daraus zusätzlich repräsentative Werte wie Maxima/Minima, Mittelwert, die Summe oder sonstige beliebige generierbare Daten zu ermitteln und in das Enddokument einfließen zu lassen. Das bedeutet aber gleichzeitig auch, dass bei einem etwaigen Update der Inputdaten mit einem neuerlichen Übersetzen des Dokuments diese generierten Daten im Output ebenfalls automatisch upgedatet werden. Implementiert ist dies mit dem Framework in folgender Weise, dass aufgrund des Designs sämtliche Inputdaten der einzelnen \ac{ac:Xml}-Elemente im zur Datenspeicherung vorgesehenen \texttt{DataObject} (siehe \ref{sec:VerwaltungVonInputdaten}, S. \pageref{sec:VerwaltungVonInputdaten}) verwaltet werden können. Es können somit also auch ganze Tabellen oder Listen von Inputdaten dort gesammelt abgelegt werden und dann daraus die benötigten Daten - wobei dies beginnend von Extremwerten, Mittelwerten oder Summen bis hin zu ganzen statistischen Berechnungen oder Verteilungen oder beliebige andere komplizierte Berechnungen sein können - akkumuliert und entsprechend in den Output eingefügt werden. Als einfaches Beispiel für diese Funktionalität wurde eine Liste implementiert, aus deren Daten dann wahlweise der Mittelwert oder die Summe berechnet werden und abschließend jeweils der Liste angefügt werden. Das heißt, man hat wahlweise einen der folgenden Inputs: \begin{tabular}{p{1cm} l|p{.2cm} l} \\ & Beispiel A: & & Beispiel B: \\ \cline{2-4} & & & \\ & \texttt{<para>} & & \texttt{<para>} \\ & \texttt{ Liste mit Summe:} & & \texttt{ Liste mit Durchschnitt:} \\ & \texttt{</para>} & & \texttt{</para>} \\ & \texttt{<list eval=\"{}sum\"{}>} { } & & \texttt{<list eval=\"{}avg\"{}>} \\ & \texttt{ <item>3.7</item>} & & \texttt{ <item>3.7</item>} \\ & \texttt{ <item>2.8</item>} & & \texttt{ <item>2.8</item>} \\ & \texttt{ <item>13.2</item>} & & \texttt{ <item>13.2</item>} \\ & \texttt{</list>} & & \texttt{</list>} \\ \\ \end{tabular} Und daraus wird dann alternativ der folgende Output generiert: \begin{tabular}{p{1.3cm} c|p{.2cm} c} \\ & Liste mit Summe: { } & & Liste mit Durchschnitt\\ & & & \\ & 3.7 & & 3.7 \\ & 2.8 & & 2.8 \\ & 13.2 & & 13.2 \\ & & & \\ & {\bf $\sum $ 19.7} & & {\bf $\varnothing $ 6.57} \end{tabular} \section{Lebenslauf - 2 verschiedene Zielformate} Ziel dieses auf den ersten Blick relativ einfachen Anwendungsbeispiels ist es, einen Lebenslauf zu erstellen und zu übersetzen. Dazu wurde auch ein eigenes Schema entworfen, dass das Eingabeformat desselben beschreibt. Es besteht aus einem ersten Teil, welcher die gesamten persönlichen Daten wie Name, Geburtsdaten, Adresse, Telefon und dergleichen enthält und anschließend einer Reihe von Listen zu den einzelnen Themen, wie zum Beispiel Schulbildung, beruflicher Werdegang, weitere Qualifikationen und ähnlichem mehr. Außerdem sind noch als Attribute eine Bezeichnung des Lebenslaufs und eine Sprachauswahl vorgesehen. Dieser Aufbau für das Eingabeformat des Lebenslaufs wurde dadurch gewonnen, da als erstes Zielformat {\LaTeX } in Zusammenspiel mit einem speziellen \ac{ac:Cv} Style gewählt wurde. Die Übersetzung des Lebenslaufes nach {\LaTeX } wurde auch speziell auf die Verwendung dieses Styles abgestimmt. Der Lebenslauf soll nun aber auch noch in andere Zielformate (z.B. \ac{ac:Html}) übersetzt werden können. Dazu kann der Großteil der Transitionen für die Übersetzung nach \LaTeX\ wiederverwendet werden und nur jene wenige, die effektiv den Output formatieren, entsprechend adaptiert werden. Es können also, wenn einmal die Übersetzung in ein bestimmtes Format vorhanden ist, mit relativ geringem Aufwand Übersetzungen in andere Formate hinzugefügt werden. \section{Diagramme} In Geschäftsberichten, Jahresberichten, Marktanalysen, Erhebungen und noch vielen anderen Dokumenten ähnlicher Art ist es erforderlich, Diagramme verschiedenster Art (wie z.B. Kurvendiagramme, Tortendiagramme, Blockdiagramme, ...) ins gewünschte Enddokument einzufügen. Die Ausgangsbasis Stellen hier eine bestimmte Menge an Daten dar, aus welchen dann ein Diagramm beliebiger Art erstellt werden soll, um dieses anschließend in das Dokument einzubinden. Bei diesem Framework gibt es nun dahingehend eine wesentliche Erleichterung, dass es nur notwendig ist, in das Sourcedokument die gesammelten Daten für das Diagramm einzufügen, die gewünschte Art des Diagramms anzugeben und die dafür außer den Daten noch notwendigen Angaben zu machen. Beim Übesetzen in das gewünschte Zielformat wird dann automatisch das erforderliche Diagramm erstellt und in das Enddokument eingebunden. Diese komfortable Vorgehensweise erhielt man in diesem Beispiel durch das Einbinden des \texttt{Chart2D}-Packages, \cite{chart2d} mit welchem auf einfache Weise aus einer Reihe von Daten verschiedene Arten von Diagrammen erstellt werden können. Solche vom \texttt{Chart2D}-Package erstellten Graphiken werden dann im \ac{ac:Png}-Format in Files gespeichert und diese können dann recht komfortabel in den Output eingebunden werden. Der Dateninput kann beispielsweise so aussehen: \begin{verbatim} <chart> <title>Quartalsumsätze 2001</title> <list chart="pie"> <title>Quartalsumsätze</title> <item caption="1. Quartal">127</item> <item caption="2. Quartal">158</item> <item caption="3. Quartal">113</item> <item caption="4. Quartal">147</item> </list> </chart> \end{verbatim} Und dementsprechend wird dann eine Graphik wie in Abbildung \ref{fig:PieChart} in das Enddokument eingebunden. \image[0.9]{images/quartalsumsaetze}{Beispiel: generiertes Tortendiagramm}{}{fig:PieChart} \chapter{Abschließende Betrachtungen} Es sollen nun noch einmal die Möglichkeiten und Vorteile des implementierten Frameworks zusammengefasst und aufgezeigt werden, welche Erweiterungsmöglichkeiten es bietet und an welchen Punkte dazu angesetzt werden kann. \section{Zusammenfassung und Diskussion} Die vorhandenen Technologien zur Verarbeitung von \ac{ac:Xml}-Dokumenten, vorallem zur Erstellung neuer (druckbarer) Dokumente, bieten meist nicht den Funktionsumfang der in der heutigen Zeit zur professionellen Verarbeitung benötigt wird. Es wurde versucht, ein Framework zu designen und zu implementieren, welches zur allgemeinen Verarbeitung von XML-Dokumenten verwendet werden kann und leicht erweiterbar ist. Was sind nun im Einzelnen die Vorteile des implementierten Frameworks? \begin{itemize} \item {\em Die Verwendung von \ac{ac:Xml} als Format für die Inputdaten} - Damit wird sichergestellt, dass in den Inputdaten ausschließlich Information und keine Formatierung oder dergleichen enthalten ist. Trotzdem ist dies eine für Menschen lesbare Repräsentation von Daten. Zudem wird mit der geforderten Verwendung von XML-Schematas auch die Validierung der Inputdaten sichergestellt. \item {\em Strikte Trennung von Inhalt, Layout und Logik} - Durch das Design des Framework werden diese drei Schichten strikt voneinander getrennt. Dies ist einer der Hauptvorteile gegenüber Servlets, \ac{ac:Jsp} und ähnlichem. \item {\em Die Möglichkeit das selbe Dokument in verschiedene Formate zu trans\-for\-mieren} - Der Input ist vollkommen unabhängig davon, in welches Format man ihn übersetzen will. Ist jedoch einmal die Transformation in ein bestimmtes Zielformat vorhanden, so kann mit relativ geringem Aufwand auf weitere Formate erweitert werden. Dies funktioniert deshalb, weil die gesamte Ablaufsteuerung die selbe bleiben kann und nur jene Transitionen ausgetauscht werden müssen, welche effektiv Output in der Zielsprache erzeugen. \item {\em Beliebige Erweiterungsmöglichkeit mittels wiederverwendbarer Packages} - Das vorhandene Framework kann sehr einfach um eine weitere Dokumentklasse oder um ein weiteres Zielformat erweitert werden, indem man ein weiteres Package mit den dafür notwendigen Transitionen entwickelt, welches danach immer wieder verwendet werden kann. \item {\em Ermittlung neuer Daten aus den Inputdaten} - Es können nicht nur die Daten aus den Inputdateien einfach in den Output übernommen werden, sondern es können daraus auch neue Daten generiert werden, welche dann in den Output einfließen. Hierbei sind unter anderem mathematische Berechnungen, umfangreiche Statistiken und dergleichen mehr möglich. \item {\em Verwenden und Einbinden vorhandener Packages} - Es können sämtliche für beliebige Zwecke vorhandenen Java-Packages in das Framework (respektive in den Transitionen eines Erweiterungspackages zum Framework) eingebunden werden. Damit werden Funktionalitäten wie zum Beispiel das Erstellen von Diagrammen aus Rohdaten mit Hilfe des Chart2D-Packages und beliebig anderes mehr möglich. \item {\em Keine Beschränkung auf reine Dokumente als Output} - Das Framework kann nicht nur die Transformation von \ac{ac:Xml}-Doku\-menten in andere Dokumentenformate bewerkstelligen, sondern es ist noch weit mehr an Funktionalität damit erzielbar. Ein konkretes Beispiel hierfür ist bereits im Framework selbst inkludiert: das Aufsetzten einer neuen Statemachine. \end{itemize} \section{Ausblick} Es gibt nun allerdings noch einige Punkte, an denen man ansetzen kann, um das vorhandene Framework zu erweitern und zu verbessern. \begin{itemize} \item {\em Entwicklung eines graphischen Interfaces} - Die derzeitige \texttt{main} Methode ersetzend, welche nur eine eingabe auf der Kommandozeile zuläßt, kann ein \ac{ac:Gui} als Erweiterung zum bestehenden Framework implementiert werden, um das Arbeiten mit demselben komfortabler zu gestalten. Es ist zu diesem Zwecke allerdings nicht mehr erforderlich, den vorhandenen Systemkern zu verändern. \item {\em Automatisches Generieren der Konfigurationsdaten einer Statemachine aus dem Schema der zu verarbeitenden Dokumentklasse} - Derzeit müssen sowohl das Schema einer zu verarbeitenden Dokumentklasse als auch das dazugehörige Konfigurationsfile zum Aufbauen der dafür notwendigen Statemachine separat und von Hand geschrieben werden. Eine Technik wie aus dem Schema automatisch die Konfiguration der Statemachine ermittelt werden kann wurde noch nicht entwickelt. \item {\em Anbindung von Datenbanken an Dokumente} - Es sollte eine Möglichkeit geschaffen werden, dass beim Übersetzen spezieller Sourcedokumente auch die Verbindung zu Datenbanken geschaffen wird, aus welchen dann Daten für das gewünschte Enddokument extrahiert werden können. \item {\em Erstellen und Verwalten von Bibliographien und Literaturverzeichnissen} - Zu großen wissenschaftlichen Arbeiten ist es üblich, Bibliographien und Literaturverzeichnisse anzugeben. In \LaTeX\ existiert hierzu ein recht komfortables Packages: {\em BibTeX}. Eine ähnliche Funktionalität könnte dem Framework hinzugefügt werden. Aus einer separaten Quelle sollen Daten für Literaturverzeichnis und Bibliographie zum Sourcedokument gewonnen werden und ins Enddokument eingebunden werden können. Beim Übersetzen nach \LaTeX\ könnte man dann wieder auf das {\em BibTeX }-Package zurückgreifen. \item {\em Templates für Web-Formulare} - Ein gängiges Problem in der Webseitengestaltung bzw. Programmierung ist das Verarbeiten von Daten, die vom User eingegeben werden. Für dieses Problem sollte ein genereller Ansatz geschaffen werden, da die Abläufe immer dieselben sind und sich nur die Repräsentation und die verwendeten Daten ändern. Das Framework sollte nun dahingehend verwendbar sein, dass es für die jeweiligen Projekte bzw. Webseiten nur noch eine Datenbeschreibung in einer geeigneten Form benötigt. Der Grafiker kann dazu parallel Templates entwerfen, in die per Platzhalter die Datenfelder eingefügt werden können. \\ Eine geeignete Lösung wäre dafür, die Datenfelder in einem geeigneten Format (XML bzw. XML Schema bieten sich an) zu beschreiben und die Erzeugung der eigentlichen Web Formulare passiert automatisiert. Es kann dies eine Umwandlung von XML in PHP sein; Es wäre jedoch leicht möglich, auch z. B. JSP oder ASP damit zu erzeugen. \item {\em Erweiterung des Frameworks zu wiederverwendbarer Middleware} - Es kann das vorhandene Framework soweit erweitert werden, dass es im Zusammenhang mit verschiedenen Frontends und Backends Verwendung findet. Das bedeutet, dass man es zu Middleware erweitert. \item {\em Einsatz des Frameworks als Servlet} - Es wäre möglich, das vorhandene Framework dahingehend zu erweitern, dass es als Web-Applikation auf einem Servlet-Server (z.B. Apache) läuft und somit die \ac{ac:Xml} Dokumente im Internet zu Verfügung stellt. Zusätzlich dazu, dass diese Dokumente immer aktuell sind, da sie ja erst beim entsprechenden Request generiert werden, wäre auch eine Auswahlmöglichkeit des gewünschten Dokumentformats (z.B. \ac{ac:Html} oder \ac{ac:Pdf}) möglich. \end{itemize} Es besitzt das vorhandene System nun bereits eine vielseitige Funktionalität, kann aber auch noch in viele Richtungen hin erweitert und verbessert werden. Das Design dieses Framework bietet also eine Unmenge an Möglichkeiten. \appendix \addcontentsline{toc}{chapter}{\bibname} \setbookmark[section]{\bibname} % \chapter{Literaturverzeichnis} \bibliographystyle{abbrv} \bibliography{Seminarbericht,bibliography_entries,script,rfc_wo_cite,std,fyi} \chapter{Schema der Statemachine} \label{sec:SchemaDerStatemaschine} \footnotesize \begin{verbatim} <?xml version="1.0" standalone="no"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- attention: all names must be adapted to the following nameing convention type names : AllWordsCapitalizedWithoutUnderscores element names : alllowercasewithoutunderscores --> <xsd:element name="statemachine"> <xsd:complexType> <xsd:sequence> <xsd:element name="path" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="states" type="States" minOccurs="1" maxOccurs="1"/> <xsd:element name="transitions" type="Transitions" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="States"> <xsd:sequence> <xsd:element name="startstate" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="state" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Transitions"> <xsd:sequence> <xsd:element name="transition" type="Transition" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Transition"> <xsd:sequence> <xsd:element name="beginstate" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="nextstate" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="element" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="type" type="ElementAttributes" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="classname" type="xsd:string" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="ElementAttributes"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="start"/> <xsd:enumeration value="end"/> <xsd:enumeration value="enddoc"/> </xsd:restriction> </xsd:simpleType> </xsd:schema> \end{verbatim} \normalsize \end{document} |
From: Edmund H. <so...@us...> - 2002-05-21 18:20:21
|
Update of /cvsroot/xpg-xml/doc In directory usw-pr-cvs1:/tmp/cvs-serv25076 Modified Files: Seminarbericht.bib Seminarbericht.tex Log Message: seminardol update + eps bilder Index: Seminarbericht.bib =================================================================== RCS file: /cvsroot/xpg-xml/doc/Seminarbericht.bib,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Seminarbericht.bib 21 May 2002 01:12:10 -0000 1.2 --- Seminarbericht.bib 21 May 2002 18:20:18 -0000 1.3 *************** *** 12,15 **** --- 12,30 ---- } + @Misc{ xt, + author = {J. Clark and B. Lindsey }, + title = {XT, a fast, free implementation of XSLT in java}, + OPTinstitution = {}, + year = {2002}, + OPTkey = {}, + OPTtype = {}, + OPTnumber = {}, + OPTaddress = {}, + month = {April}, + note = {available online \url{http://www.blnz.com/xt/index.html}}, + OPTannote = {} + } + + @Misc{ chart2d, author = {Jason Simas}, Index: Seminarbericht.tex =================================================================== RCS file: /cvsroot/xpg-xml/doc/Seminarbericht.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Seminarbericht.tex 21 May 2002 01:12:10 -0000 1.4 --- Seminarbericht.tex 21 May 2002 18:20:18 -0000 1.5 *************** *** 54,70 **** \section*{Abstract} ! Jeder der schon einmal ein Dokument verfaßt hat steht früher oder später vor ! der Aufgabe dieses auch anderen Personen zugänglich zu machen. Meist ist allerdings der Inhalt wertvoller als das Aussehen des Dokumentes. Vor allem ! bei Wiederverwendung des enthaltenen Wissens bzw. auch nur Teilen davon, steht man vor dem großen Problem der verschiedenen Dokumentformate, die von den unterschiedlichen Programmen, die zur Erstellung des Dokuments verwendet wurden, herrühren. Ein weiterer Problemkreis, der sich bald erschließt, ist ! eng mit dem Verteilungmedium verbunden. Ein und der selbe Inhalt soll in [...1855 lines suppressed...] <xsd:complexType name="Transition"> <xsd:sequence> ! <xsd:element name="beginstate" type="xsd:string" ! minOccurs="1" maxOccurs="1"/> ! <xsd:element name="nextstate" type="xsd:string" ! minOccurs="1" maxOccurs="1"/> <xsd:element name="element" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> ! <xsd:attribute name="type" type="ElementAttributes" ! use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> ! <xsd:element name="classname" type="xsd:string" ! minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> |
From: Edmund H. <so...@us...> - 2002-05-21 18:18:56
|
Update of /cvsroot/xpg-xml/doc/images In directory usw-pr-cvs1:/tmp/cvs-serv24782/images Log Message: Directory /cvsroot/xpg-xml/doc/images added to the repository |
From: Stefan T. <th...@us...> - 2002-05-21 17:37:55
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/generator In directory usw-pr-cvs1:/tmp/cvs-serv31562/generator Modified Files: DocumentGenerator.java Generator.java Log Message: new transition interface Index: DocumentGenerator.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/generator/DocumentGenerator.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** DocumentGenerator.java 15 May 2002 12:24:39 -0000 1.9 --- DocumentGenerator.java 21 May 2002 16:59:30 -0000 1.10 *************** *** 26,29 **** --- 26,31 ---- import java.io.File; import java.io.IOException; + import org.xml.sax.SAXException; + import edu.iicm.xpg.util.Debug; *************** *** 59,70 **** Debug.setWriterToFile("./documentgenerator.log"); Debug.setMessageFormat("DEBUG %level%: \"%message%\""); ! Debug.addLevelsToPrint(Debug.WARNING_LEVEL+" "+ Debug.TRANSITION_LEVEL+" "+Debug.PARSER_LEVEL +" "+Debug.VERBOSE_LEVEL ); } ! Generator generator = new Generator( args[0] ); generator.setFeatures(); generator.setHandlers(); generator.parseFile( args[1] ); System.exit(0); --- 61,88 ---- Debug.setWriterToFile("./documentgenerator.log"); Debug.setMessageFormat("DEBUG %level%: \"%message%\""); ! Debug.addLevelsToPrint(Debug.WARNING_LEVEL+" "+ Debug.TRANSITION_LEVEL+" "+Debug.PARSER_LEVEL); } ! try ! { Generator generator = new Generator( args[0] ); generator.setFeatures(); generator.setHandlers(); generator.parseFile( args[1] ); + } + catch (SAXException exc) + { + Exception exception = (Exception)exc.getException(); + if ( exception != null) + exception.printStackTrace(); + else + exc.printStackTrace(); + System.exit(-1); + } + catch (IOException exc) + { + exc.printStackTrace(); + System.exit(-1); + } System.exit(0); Index: Generator.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/generator/Generator.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Generator.java 8 Apr 2002 14:13:15 -0000 1.10 --- Generator.java 21 May 2002 16:59:30 -0000 1.11 *************** *** 28,32 **** --- 28,34 ---- import edu.iicm.xpg.statemachine.Parser; import edu.iicm.xpg.statemachine.Const; + import org.xml.sax.SAXException; + import java.io.IOException; import edu.iicm.xpg.util.Debug; *************** *** 51,58 **** public Generator(String config_file) { super(); ! // set up the statemachine if (Debug.DEBUG) Debug.println(Debug.VERBOSE_LEVEL,"Setting up State Machine"); --- 53,78 ---- public Generator(String config_file) + throws SAXException,IOException { super(); + init(config_file); + } ! //---------------------------------------------------------------------- ! /** ! */ ! public Generator(String config_file,String xml_reader) ! throws SAXException,IOException ! { ! super(xml_reader); ! init(config_file); ! } ! ! //---------------------------------------------------------------------- ! /** ! */ ! protected void init(String config_file) ! throws SAXException,IOException ! { if (Debug.DEBUG) Debug.println(Debug.VERBOSE_LEVEL,"Setting up State Machine"); *************** *** 60,64 **** initializer_.initialize(state_machine_); } - } --- 80,83 ---- |
Update of /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvlatex In directory usw-pr-cvs1:/tmp/cvs-serv31562/transitions/cvlatex Modified Files: WriteGeneralFooterTransition.java WriteGeneralHeaderTransition.java WriteListTransition.java WritePersonalTransition.java Log Message: new transition interface Index: WriteGeneralFooterTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvlatex/WriteGeneralFooterTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WriteGeneralFooterTransition.java 13 May 2002 06:23:57 -0000 1.2 --- WriteGeneralFooterTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 50,59 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer document = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 51,60 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer document = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteGeneralHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvlatex/WriteGeneralHeaderTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WriteGeneralHeaderTransition.java 13 May 2002 22:46:12 -0000 1.2 --- WriteGeneralHeaderTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 48,57 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer document = new StringBuffer(); --- 49,58 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer document = new StringBuffer(); Index: WriteListTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvlatex/WriteListTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WriteListTransition.java 13 May 2002 06:25:22 -0000 1.1 --- WriteListTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 54,63 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 55,64 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WritePersonalTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvlatex/WritePersonalTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WritePersonalTransition.java 15 May 2002 14:32:33 -0000 1.3 --- WritePersonalTransition.java 21 May 2002 16:59:31 -0000 1.4 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 56,65 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 57,66 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); |
Update of /cvsroot/xpg-xml/edu/iicm/xpg/statemachine In directory usw-pr-cvs1:/tmp/cvs-serv31562/statemachine Modified Files: InitParser.java Initializer.java Parser.java PrimitiveStateMachine.java StateMachine.java Transition.java XMLHandler.java Log Message: new transition interface Index: InitParser.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/InitParser.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InitParser.java 8 Apr 2002 14:14:34 -0000 1.5 --- InitParser.java 21 May 2002 16:59:30 -0000 1.6 *************** *** 25,29 **** import org.xml.sax.helpers.XMLReaderFactory; import org.xml.sax.SAXException; ! import edu.iicm.xpg.util.Factory; --- 25,29 ---- import org.xml.sax.helpers.XMLReaderFactory; import org.xml.sax.SAXException; ! import java.io.IOException; import edu.iicm.xpg.util.Factory; *************** *** 37,41 **** public class InitParser extends Parser ! implements Initializer { protected String config_file_; --- 37,41 ---- public class InitParser extends Parser ! implements Initializer { protected String config_file_; *************** *** 52,64 **** public InitParser(String config_file) ! throws IllegalArgumentException { super(); ! if (config_file == null) { ! throw (new IllegalArgumentException ! ("configfile of InitParser is null!")); } Factory transition_factory = new Factory(DEFAULT_SEARCH_PATH); data_.putObject(TRANSITION_FATORY, transition_factory); --- 52,86 ---- public InitParser(String config_file) ! throws IllegalArgumentException,SAXException { super(); + init(config_file); + } ! //---------------------------------------------------------------------- ! /** ! * @param config_file ! * @exception IllegalArgumentException thrown if config_file is null ! */ ! ! public InitParser(String config_file,String xml_reader) ! throws IllegalArgumentException,SAXException ! { ! super(xml_reader); ! init(config_file); ! } ! ! //---------------------------------------------------------------------- ! /** ! */ ! protected void init(String config_file) ! throws IllegalArgumentException ! { ! if (config_file == null) { ! throw (new IllegalArgumentException ! ("configfile of InitParser is null!")); } + Factory transition_factory = new Factory(DEFAULT_SEARCH_PATH); data_.putObject(TRANSITION_FATORY, transition_factory); *************** *** 67,70 **** --- 89,93 ---- } + //---------------------------------------------------------------------- /** *************** *** 76,85 **** public void initialize(PrimitiveStateMachine new_state_machine) ! throws IllegalArgumentException { if (new_state_machine == null) { ! throw (new IllegalArgumentException ! ("new_state_machine in initialize is null!")); } --- 99,108 ---- public void initialize(PrimitiveStateMachine new_state_machine) ! throws IllegalArgumentException,SAXException,IOException { if (new_state_machine == null) { ! throw (new IllegalArgumentException ! ("new_state_machine in initialize is null!")); } Index: Initializer.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/Initializer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Initializer.java 4 Apr 2002 05:42:24 -0000 1.5 --- Initializer.java 21 May 2002 16:59:30 -0000 1.6 *************** *** 22,25 **** --- 22,28 ---- package edu.iicm.xpg.statemachine; + import java.io.IOException; + import org.xml.sax.SAXException; + //---------------------------------------------------------------------- /** *************** *** 42,46 **** public void initialize(PrimitiveStateMachine statemachine) ! throws IllegalArgumentException; //---------------------------------------------------------------------- --- 45,49 ---- public void initialize(PrimitiveStateMachine statemachine) ! throws IllegalArgumentException,IOException,SAXException; //---------------------------------------------------------------------- Index: Parser.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/Parser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Parser.java 8 Apr 2002 14:13:15 -0000 1.7 --- Parser.java 21 May 2002 16:59:30 -0000 1.8 *************** *** 24,27 **** --- 24,28 ---- import java.io.FileReader; import java.io.File; + import java.io.IOException; import org.xml.sax.XMLReader; import org.xml.sax.InputSource; *************** *** 57,60 **** --- 58,81 ---- public Parser() + throws SAXException + { + setup(); + reader_ = XMLReaderFactory.createXMLReader(XML_READER); + } + //---------------------------------------------------------------------- + /** + */ + public Parser(String xml_reader) + throws SAXException + { + setup(); + reader_ = XMLReaderFactory.createXMLReader(xml_reader); + } + + //---------------------------------------------------------------------- + /** + */ + + protected void setup() { data_ = new DataObject(); *************** *** 62,76 **** state_machine_.setUserDefinedDataObject(data_); handler_ = new XMLHandler(state_machine_,data_); - try - { - reader_ = XMLReaderFactory.createXMLReader(XML_READER); - } - catch (SAXException exc) - { - // FIXXME: maybe think of a better exception handling here! - exc.printStackTrace(); - } } //---------------------------------------------------------------------- /** --- 83,89 ---- state_machine_.setUserDefinedDataObject(data_); handler_ = new XMLHandler(state_machine_,data_); } + //---------------------------------------------------------------------- /** *************** *** 81,107 **** public void parseFile(String filename) { File input_file = new File(filename); if (!input_file.exists()) { - // FIXXME: better exception handling is needed here! if (Debug.DEBUG) Debug.println(Debug.PARSER_LEVEL," File " + filename + " not existing"); ! System.exit(-1); } - try - { if (Debug.DEBUG) Debug.println(Debug.VERBOSE_LEVEL,"Begin Parsing"); FileReader file_reader = new FileReader(input_file); ! reader_.parse(new InputSource(file_reader)); ! } ! catch (Exception exc) ! { ! // FIXXME: System.exit ?? ! exc.printStackTrace(); ! System.exit(1); ! } } //---------------------------------------------------------------------- --- 94,114 ---- public void parseFile(String filename) + throws IOException,SAXException { File input_file = new File(filename); if (!input_file.exists()) { if (Debug.DEBUG) Debug.println(Debug.PARSER_LEVEL," File " + filename + " not existing"); ! throw new IOException("File " + filename + " not existing"); } if (Debug.DEBUG) Debug.println(Debug.VERBOSE_LEVEL,"Begin Parsing"); FileReader file_reader = new FileReader(input_file); ! InputSource input_source = new InputSource(file_reader); ! input_source.setSystemId(input_file.getPath()); ! reader_.parse(input_source); } + //---------------------------------------------------------------------- *************** *** 146,179 **** public void setFeatures() { - try - { reader_.setFeature(PARSER_FEATURE_VALIDATING, true); - } - catch (SAXException e) - { - if (Debug.DEBUG) - Debug.println(Debug.PARSER_LEVEL,"Cannot activate validation."); - - } - try - { - reader_.setFeature(PARSER_FEATURE_VALIDATING_DYNAMIC, true); - } - catch (SAXException e) - { - if (Debug.DEBUG) - Debug.println(Debug.PARSER_LEVEL,"Cannot activate Dynamic validation."); - } - try - { reader_.setFeature(PARSER_FEATURE_SCHEMA, true); } - catch (SAXException e) - { - if (Debug.DEBUG) - Debug.println(Debug.PARSER_LEVEL,"Cannot activate SCHEMA validation."); - } - } } --- 153,161 ---- public void setFeatures() + throws SAXException { reader_.setFeature(PARSER_FEATURE_VALIDATING, true); reader_.setFeature(PARSER_FEATURE_SCHEMA, true); } } Index: PrimitiveStateMachine.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/PrimitiveStateMachine.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PrimitiveStateMachine.java 8 Apr 2002 14:13:15 -0000 1.3 --- PrimitiveStateMachine.java 21 May 2002 16:59:30 -0000 1.4 *************** *** 230,238 **** * @param input the input that leads to a transision * @return ! * @exception Exception whatever exception can be thrown by the transition */ public void input(Input input) ! throws Exception { if ((status_ & (RUNNING | INITIALIZED)) == 0) --- 230,238 ---- * @param input the input that leads to a transision * @return ! * @exception TransitionException whatever exception can be thrown by the transition */ public void input(Input input) ! throws TransitionException { if ((status_ & (RUNNING | INITIALIZED)) == 0) Index: StateMachine.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/StateMachine.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StateMachine.java 7 Feb 2002 09:38:12 -0000 1.2 --- StateMachine.java 21 May 2002 16:59:30 -0000 1.3 *************** *** 1,176 **** ! /*********************************************************************** ! * @(#)$RCSfile$ $Revision$ $Date$ ! * ! * Copyright (c) 2001 IICM, Graz University of Technology ! * Schiesstattgasse 4a, A-8010 Graz, Austria. ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU Lesser General Public License (LGPL) ! * as published by the Free Software Foundation; either version 2.1 of ! * the License, or (at your option) any later version. ! * ! * This program is distributed in the hope that it will be useful, ! * but WITHOUT ANY WARRANTY; without even the implied warranty of ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! * GNU Lesser General Public License for more details. ! * ! * You should have received a copy of the GNU Lesser General Public ! * License along with this program; if not, write to the ! * Free Software Foundation, Inc., ! * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! ***********************************************************************/ ! ! ! package edu.iicm.xpg.statemachine; ! ! import java.util.Set; ! ! //---------------------------------------------------------------------- ! /** ! * @author Klaus Schmaranz ! * @version $Revision$ ! */ ! ! public interface StateMachine ! { ! ! //---------------------------------------------------------------------- ! /** ! * @param start_state_id the id of the start state of this machine ! * @return ! * @exception IllegalArgumentException thrown if the state is invalid ! */ ! ! public void setStartState(String start_state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param state the state to be registered ! * @param state_id the id under which the state is registered ! * @return ! * @exception IllegalArgumentException thrown if state is not valid ! */ ! ! public void registerState(State state,String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param state_id the id of the state to be unregistered ! * @return ! * @exception IllegalArgumentException thrown if state is not valid or not registered ! */ ! ! public void unregisterState(String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @return all registered states ! */ ! ! public Set getRegisteredStates(); ! ! //---------------------------------------------------------------------- ! /** ! * @param state_id the Id of a state ! * @return true if a state with the given id is registered, false otherwise ! * @exception IllegalArgumentException thrown if id is not valid ! */ ! ! public boolean isStateRegistered(String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @return the current state of this machine ! */ ! ! public State getCurrentState(); ! ! //---------------------------------------------------------------------- ! /** ! * @param state_id the Id of a state ! * @return a set of all registered transisitons for the given state ! * @exception IllegalArgumentException thrown if Id is not valid ! */ ! ! public Set getRegisteredTransitions(String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param transition the transition object to be registered ! * @param input the input that leads to this transition ! * @param from_state_id starting point of the transition ! * @param to_state_id end point of the transition ! * @return ! * @exception IllegalArgumentException thrown if one of the parameters is not valid ! */ ! ! public void registerTransition(Input input,Transition transition, ! String from_state_id,String to_state_id) ! throws IllegalArgumentException, DuplicateStateException; ! ! //---------------------------------------------------------------------- ! /** ! * @param transition the transition object to be registered ! * @param from_state_id starting point of the transition ! * @param to_state_id end point of the transition ! * @return ! * @exception IllegalArgumentException thrown if one of the parameters is not valid ! */ ! ! public void registerDefaultTransition(Transition transition, ! String from_state_id,String to_state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param input the input that leads to this transition ! * @param from_state_id ! * @return ! * @exception IllegalArgumentException ! */ ! ! public void unregisterTransition(Input input,String from_state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param data the user-defined data object that is passed as a parameter ! * @return ! */ ! ! public void setUserDefinedDataObject(DataObject data); ! ! //---------------------------------------------------------------------- ! /** ! * @param input the input that leads to a transision ! * @return ! * @exception Exception whatever exception can be thrown by the transition ! */ ! ! public void input(Input input) ! throws Exception; ! ! //---------------------------------------------------------------------- ! /** ! * @return ! */ ! ! public void stopMachine(); ! ! //---------------------------------------------------------------------- ! /** ! * @return ! */ ! ! public void initializeMachine(); ! ! } ! ! ! ! --- 1,176 ---- ! /*********************************************************************** ! * @(#)$RCSfile$ $Revision$ $Date$ ! * ! * Copyright (c) 2001 IICM, Graz University of Technology ! * Schiesstattgasse 4a, A-8010 Graz, Austria. ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU Lesser General Public License (LGPL) ! * as published by the Free Software Foundation; either version 2.1 of ! * the License, or (at your option) any later version. ! * ! * This program is distributed in the hope that it will be useful, ! * but WITHOUT ANY WARRANTY; without even the implied warranty of ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! * GNU Lesser General Public License for more details. ! * ! * You should have received a copy of the GNU Lesser General Public ! * License along with this program; if not, write to the ! * Free Software Foundation, Inc., ! * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! ***********************************************************************/ ! ! ! package edu.iicm.xpg.statemachine; ! ! import java.util.Set; ! ! //---------------------------------------------------------------------- ! /** ! * @author Klaus Schmaranz ! * @version $Revision$ ! */ ! ! public interface StateMachine ! { ! ! //---------------------------------------------------------------------- ! /** ! * @param start_state_id the id of the start state of this machine ! * @return ! * @exception IllegalArgumentException thrown if the state is invalid ! */ ! ! public void setStartState(String start_state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param state the state to be registered ! * @param state_id the id under which the state is registered ! * @return ! * @exception IllegalArgumentException thrown if state is not valid ! */ ! ! public void registerState(State state,String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param state_id the id of the state to be unregistered ! * @return ! * @exception IllegalArgumentException thrown if state is not valid or not registered ! */ ! ! public void unregisterState(String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @return all registered states ! */ ! ! public Set getRegisteredStates(); ! ! //---------------------------------------------------------------------- ! /** ! * @param state_id the Id of a state ! * @return true if a state with the given id is registered, false otherwise ! * @exception IllegalArgumentException thrown if id is not valid ! */ ! ! public boolean isStateRegistered(String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @return the current state of this machine ! */ ! ! public State getCurrentState(); ! ! //---------------------------------------------------------------------- ! /** ! * @param state_id the Id of a state ! * @return a set of all registered transisitons for the given state ! * @exception IllegalArgumentException thrown if Id is not valid ! */ ! ! public Set getRegisteredTransitions(String state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param transition the transition object to be registered ! * @param input the input that leads to this transition ! * @param from_state_id starting point of the transition ! * @param to_state_id end point of the transition ! * @return ! * @exception IllegalArgumentException thrown if one of the parameters is not valid ! */ ! ! public void registerTransition(Input input,Transition transition, ! String from_state_id,String to_state_id) ! throws IllegalArgumentException, DuplicateStateException; ! ! //---------------------------------------------------------------------- ! /** ! * @param transition the transition object to be registered ! * @param from_state_id starting point of the transition ! * @param to_state_id end point of the transition ! * @return ! * @exception IllegalArgumentException thrown if one of the parameters is not valid ! */ ! ! public void registerDefaultTransition(Transition transition, ! String from_state_id,String to_state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param input the input that leads to this transition ! * @param from_state_id ! * @return ! * @exception IllegalArgumentException ! */ ! ! public void unregisterTransition(Input input,String from_state_id) ! throws IllegalArgumentException; ! ! //---------------------------------------------------------------------- ! /** ! * @param data the user-defined data object that is passed as a parameter ! * @return ! */ ! ! public void setUserDefinedDataObject(DataObject data); ! ! //---------------------------------------------------------------------- ! /** ! * @param input the input that leads to a transision ! * @return ! * @exception TransitionException whatever exception can be thrown by the transition ! */ ! ! public void input(Input input) ! throws TransitionException; ! ! //---------------------------------------------------------------------- ! /** ! * @return ! */ ! ! public void stopMachine(); ! ! //---------------------------------------------------------------------- ! /** ! * @return ! */ ! ! public void initializeMachine(); ! ! } ! ! ! ! Index: Transition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/Transition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Transition.java 7 Feb 2002 09:38:12 -0000 1.2 --- Transition.java 21 May 2002 16:59:30 -0000 1.3 *************** *** 1,50 **** ! /*********************************************************************** ! * @(#)$RCSfile$ $Revision$ $Date$ ! * ! * Copyright (c) 2001 IICM, Graz University of Technology ! * Schiesstattgasse 4a, A-8010 Graz, Austria. ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU Lesser General Public License (LGPL) ! * as published by the Free Software Foundation; either version 2.1 of ! * the License, or (at your option) any later version. ! * ! * This program is distributed in the hope that it will be useful, ! * but WITHOUT ANY WARRANTY; without even the implied warranty of ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! * GNU Lesser General Public License for more details. ! * ! * You should have received a copy of the GNU Lesser General Public ! * License along with this program; if not, write to the ! * Free Software Foundation, Inc., ! * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! ***********************************************************************/ ! ! ! package edu.iicm.xpg.statemachine; ! ! //---------------------------------------------------------------------- ! /** ! * @author Klaus Schmaranz ! * @version $Revision$ ! */ ! ! public interface Transition ! { ! //---------------------------------------------------------------------- ! /** ! * @param input the input that triggered this transition ! * @param from_state the start state for this transition ! * @param to_state the destination state for this transition ! * @param machine the state machine that this transition belongs to ! * @param data user defined data ! * @return the next state if wanted or null to take the default state for this transition ! * @exception Exception whatever an implementation can throw ! */ ! ! public String transitionTriggered(Input input,State from_state,State to_state, ! StateMachine machine,DataObject data) ! throws Exception; ! } ! ! --- 1,50 ---- ! /*********************************************************************** ! * @(#)$RCSfile$ $Revision$ $Date$ ! * ! * Copyright (c) 2001 IICM, Graz University of Technology ! * Schiesstattgasse 4a, A-8010 Graz, Austria. ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU Lesser General Public License (LGPL) ! * as published by the Free Software Foundation; either version 2.1 of ! * the License, or (at your option) any later version. ! * ! * This program is distributed in the hope that it will be useful, ! * but WITHOUT ANY WARRANTY; without even the implied warranty of ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! * GNU Lesser General Public License for more details. ! * ! * You should have received a copy of the GNU Lesser General Public ! * License along with this program; if not, write to the ! * Free Software Foundation, Inc., ! * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! ***********************************************************************/ ! ! ! package edu.iicm.xpg.statemachine; ! ! //---------------------------------------------------------------------- ! /** ! * @author Klaus Schmaranz ! * @version $Revision$ ! */ ! ! public interface Transition ! { ! //---------------------------------------------------------------------- ! /** ! * @param input the input that triggered this transition ! * @param from_state the start state for this transition ! * @param to_state the destination state for this transition ! * @param machine the state machine that this transition belongs to ! * @param data user defined data ! * @return the next state if wanted or null to take the default state for this transition ! * @exception TransitionException whatever an implementation can throw ! */ ! ! public String transitionTriggered(Input input,State from_state,State to_state, ! StateMachine machine,DataObject data) ! throws TransitionException; ! } ! ! Index: XMLHandler.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/XMLHandler.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** XMLHandler.java 8 Apr 2002 14:13:15 -0000 1.8 --- XMLHandler.java 21 May 2002 16:59:30 -0000 1.9 *************** *** 24,27 **** --- 24,28 ---- import org.xml.sax.Attributes; import org.xml.sax.SAXParseException; + import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; *************** *** 83,86 **** --- 84,88 ---- public void endDocument() + throws SAXException { try *************** *** 88,94 **** state_machine_.input(new XMLInput(Const.XML_END_DOCUMENT,null)); } ! catch(Exception exc) { ! exc.printStackTrace(); } } --- 90,100 ---- state_machine_.input(new XMLInput(Const.XML_END_DOCUMENT,null)); } ! catch(TransitionException exc) { ! Exception exception = (Exception)exc.getException(); ! if ( exception != null) ! throw new SAXException(exception); ! else ! throw new SAXException(exc.getMessage()); } } *************** *** 104,107 **** --- 110,114 ---- public void characters(char[] chars,int start,int length) + throws SAXException { try *************** *** 113,121 **** state_machine_.input(new XMLInput(Const.XML_CHARS,chars,start,length)); } ! catch(Exception exc) { ! // FIXXME: think of better exception handling; no system.exit? ! exc.printStackTrace(); ! System.exit(1); } } --- 120,130 ---- state_machine_.input(new XMLInput(Const.XML_CHARS,chars,start,length)); } ! catch(TransitionException exc) { ! Exception exception = (Exception)exc.getException(); ! if ( exception != null) ! throw new SAXException(exception); ! else ! throw new SAXException(exc.getMessage()); } } *************** *** 132,135 **** --- 141,145 ---- public void startElement(String uri,String name,String qname,Attributes attributes) + throws SAXException { try *************** *** 145,151 **** state_machine_.input(new XMLInput(Const.XML_START_TAG,name)); } ! catch(Exception exc) { ! exc.printStackTrace(); } } --- 155,165 ---- state_machine_.input(new XMLInput(Const.XML_START_TAG,name)); } ! catch(TransitionException exc) { ! Exception exception = (Exception)exc.getException(); ! if ( exception != null) ! throw new SAXException(exception); ! else ! throw new SAXException(exc.getMessage()); } } *************** *** 161,164 **** --- 175,179 ---- public void endElement(String uri,String name,String qname) + throws SAXException { try *************** *** 167,173 **** data_.getXMLElementStack().pop(); } ! catch(Exception exc) { ! exc.printStackTrace(); } } --- 182,192 ---- data_.getXMLElementStack().pop(); } ! catch(TransitionException exc) { ! Exception exception = (Exception)exc.getException(); ! if ( exception != null) ! throw new SAXException(exception); ! else ! throw new SAXException(exc.getMessage()); } } *************** *** 193,202 **** public void error(SAXParseException exc) { ! if (Debug.DEBUG) ! Debug.println(Debug.PARSER_LEVEL,"SAX Error: " ! + ", line " + exc.getLineNumber() ! + "\n, uri " + exc.getSystemId()); ! exc.printStackTrace(); } --- 212,219 ---- public void error(SAXParseException exc) + throws SAXException + { ! fatalError(exc); } *************** *** 209,218 **** public void fatalError(SAXParseException exc) { if (Debug.DEBUG) ! Debug.println(Debug.PARSER_LEVEL,"SAX Fatal Error: " + ", line " + exc.getLineNumber() + "\n, uri " + exc.getSystemId()); ! exc.printStackTrace(); } --- 226,238 ---- public void fatalError(SAXParseException exc) + throws SAXException { if (Debug.DEBUG) ! Debug.println(Debug.PARSER_LEVEL,"SAX Error: " + ", line " + exc.getLineNumber() + "\n, uri " + exc.getSystemId()); ! ! System.err.println(" Sax Error:" + exc.getMessage()); ! throw ( new SAXException(exc)); } |
From: Stefan T. <th...@us...> - 2002-05-21 17:34:07
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/transitions In directory usw-pr-cvs1:/tmp/cvs-serv31562/transitions Modified Files: ClassLoaderTransition.java IgnoreCharsTransition.java PrimitiveTransition.java RegisterStartStateTransition.java RegisterStateTransition.java RegisterTransitionTransition.java SetSearchPathTransition.java StopMachineTransition.java StoreDataTransition.java Log Message: new transition interface Index: ClassLoaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/ClassLoaderTransition.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ClassLoaderTransition.java 16 Apr 2002 06:55:01 -0000 1.5 --- ClassLoaderTransition.java 21 May 2002 16:59:30 -0000 1.6 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.StateMachine; import edu.iicm.xpg.statemachine.Input; *************** *** 31,35 **** import edu.iicm.xpg.util.Factory; ! //---------------------------------------------------------------------- --- 32,36 ---- import edu.iicm.xpg.util.Factory; ! import java.io.IOException; //---------------------------------------------------------------------- *************** *** 65,77 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { ! Transition transition = ! (Transition)transition_factory_.getInstance(classname_); transition.transitionTriggered(input, from_state, to_state, machine, data); --- 66,89 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { ! Transition transition = null; ! try ! { ! transition= (Transition)transition_factory_.getInstance(classname_); ! } ! catch (ClassNotFoundException exc) ! { ! throw new TransitionException(exc); ! } ! catch (IOException exc) ! { ! throw new TransitionException(exc); ! } transition.transitionTriggered(input, from_state, to_state, machine, data); Index: IgnoreCharsTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/IgnoreCharsTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IgnoreCharsTransition.java 7 Feb 2002 09:51:58 -0000 1.2 --- IgnoreCharsTransition.java 21 May 2002 16:59:30 -0000 1.3 *************** *** 30,33 **** --- 30,34 ---- import edu.iicm.xpg.statemachine.StateMachine; import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.IllegalInputException; import edu.iicm.xpg.statemachine.DataObject; *************** *** 49,61 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { if (!((XMLInput)input).getType().equals(Const.XML_CHARS)) ! throw(new IllegalInputException("input is not of type XML_CHARS")); return(null); } --- 50,62 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { if (!((XMLInput)input).getType().equals(Const.XML_CHARS)) ! throw(new TransitionException(new IllegalInputException("input is not of type XML_CHARS"))); return(null); } Index: PrimitiveTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/PrimitiveTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PrimitiveTransition.java 7 Feb 2002 09:51:58 -0000 1.2 --- PrimitiveTransition.java 21 May 2002 16:59:30 -0000 1.3 *************** *** 28,31 **** --- 28,32 ---- import edu.iicm.xpg.statemachine.StateMachine; import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.DataObject; *************** *** 46,55 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { return(null); --- 47,56 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { return(null); Index: RegisterStartStateTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/RegisterStartStateTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RegisterStartStateTransition.java 7 Feb 2002 09:51:58 -0000 1.3 --- RegisterStartStateTransition.java 21 May 2002 16:59:30 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.PrimitiveStateMachine; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 51,60 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { String state = ((XMLInput)input).getValue(); --- 52,61 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { String state = ((XMLInput)input).getValue(); Index: RegisterStateTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/RegisterStateTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RegisterStateTransition.java 7 Feb 2002 09:51:58 -0000 1.3 --- RegisterStateTransition.java 21 May 2002 16:59:30 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.PrimitiveStateMachine; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 50,59 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { String state = ((XMLInput)input).getValue(); --- 51,60 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { String state = ((XMLInput)input).getValue(); Index: RegisterTransitionTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/RegisterTransitionTransition.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** RegisterTransitionTransition.java 8 Apr 2002 14:14:34 -0000 1.7 --- RegisterTransitionTransition.java 21 May 2002 16:59:30 -0000 1.8 *************** *** 28,31 **** --- 28,34 ---- import edu.iicm.xpg.statemachine.Const; import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; + import edu.iicm.xpg.statemachine.DuplicateStateException; + import edu.iicm.xpg.statemachine.PrimitiveStateMachine; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 56,65 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { String beginstate = (String)data.removeObject("beginstate"); --- 59,68 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { String beginstate = (String)data.removeObject("beginstate"); *************** *** 98,105 **** --- 101,115 ---- else xml_input = new XMLInput(Const.XML_END_TAG,element); + try + { doc_state_machine_.registerTransition(xml_input, transition, beginstate, nextstate); + } + catch (DuplicateStateException exc) + { + throw new TransitionException(exc); + } } Index: SetSearchPathTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/SetSearchPathTransition.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SetSearchPathTransition.java 8 Apr 2002 14:14:34 -0000 1.4 --- SetSearchPathTransition.java 21 May 2002 16:59:30 -0000 1.5 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.StateMachine; import edu.iicm.xpg.statemachine.Input; *************** *** 52,61 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { String path = ((XMLInput)input).getValue(); --- 53,62 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { String path = ((XMLInput)input).getValue(); Index: StopMachineTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/StopMachineTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StopMachineTransition.java 22 Feb 2002 13:15:26 -0000 1.3 --- StopMachineTransition.java 21 May 2002 16:59:30 -0000 1.4 *************** *** 28,31 **** --- 28,32 ---- import edu.iicm.xpg.statemachine.StateMachine; import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.DataObject; *************** *** 48,57 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { // data.setFinished(true); --- 49,58 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { // data.setFinished(true); Index: StoreDataTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/StoreDataTransition.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** StoreDataTransition.java 16 Apr 2002 06:55:01 -0000 1.10 --- StoreDataTransition.java 21 May 2002 16:59:30 -0000 1.11 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 76,85 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { XMLElement element = data.getXMLElement(); --- 77,86 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { XMLElement element = data.getXMLElement(); |
From: Stefan T. <th...@us...> - 2002-05-21 17:33:26
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex In directory usw-pr-cvs1:/tmp/cvs-serv31562/transitions/latex Modified Files: WriteGeneralFooterTransition.java WriteGeneralHeaderTransition.java WriteHeaderTransition.java WriteItemTransition.java WriteListHeaderTransition.java WriteListTransition.java WriteSectHeaderTransition.java Log Message: new transition interface Index: WriteGeneralFooterTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex/WriteGeneralFooterTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WriteGeneralFooterTransition.java 18 Mar 2002 06:45:54 -0000 1.1 --- WriteGeneralFooterTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 49,58 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 50,59 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteGeneralHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex/WriteGeneralHeaderTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WriteGeneralHeaderTransition.java 19 May 2002 08:36:43 -0000 1.2 --- WriteGeneralHeaderTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 48,57 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer html_form = new StringBuffer(); --- 49,58 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer html_form = new StringBuffer(); Index: WriteHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex/WriteHeaderTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WriteHeaderTransition.java 16 Apr 2002 06:55:02 -0000 1.2 --- WriteHeaderTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.Input; import edu.iicm.xpg.statemachine.State; *************** *** 51,60 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 52,61 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteItemTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex/WriteItemTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WriteItemTransition.java 16 Apr 2002 09:33:42 -0000 1.2 --- WriteItemTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 53,62 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 54,63 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteListHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex/WriteListHeaderTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WriteListHeaderTransition.java 16 Apr 2002 06:55:02 -0000 1.1 --- WriteListHeaderTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 53,62 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 54,63 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteListTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex/WriteListTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WriteListTransition.java 16 Apr 2002 09:33:42 -0000 1.2 --- WriteListTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 53,62 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 54,63 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); *************** *** 84,92 **** sum += item_value; } ! result.append("\\item {\\b sum: " + sum + "}\n"); } catch (NumberFormatException exc) { ! result.append("\\item {\\b sum: list contains no number item(s)}\n"); } } --- 85,93 ---- sum += item_value; } ! result.append("\\item {\\bf sum: " + sum + "}\n"); } catch (NumberFormatException exc) { ! result.append("\\item {\\bf sum: list contains no number item(s)}\n"); } } *************** *** 103,111 **** sum += item_value; } ! result.append("\\item {\\b avg: " + sum / list_items.size() + "}\n"); } catch (NumberFormatException exc) { ! result.append("\\item {\\b avg: list contains no number item(s)}\n"); } } --- 104,112 ---- sum += item_value; } ! result.append("\\item {\\bf avg: " + sum / list_items.size() + "}\n"); } catch (NumberFormatException exc) { ! result.append("\\item {\\bf avg: list contains no number item(s)}\n"); } } Index: WriteSectHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/latex/WriteSectHeaderTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WriteSectHeaderTransition.java 16 Apr 2002 06:55:02 -0000 1.3 --- WriteSectHeaderTransition.java 21 May 2002 16:59:31 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 54,63 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 55,64 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); |
From: Stefan T. <th...@us...> - 2002-05-21 17:32:48
|
Update of /cvsroot/xpg-xml/classes In directory usw-pr-cvs1:/tmp/cvs-serv1976 Added Files: runcvhtml runcvhtml_en runcvtex runcvtex_en runlatex1 runlatex2 runmath runsimpledoc Log Message: exampe run script --- NEW FILE: runcvhtml --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./cv/cvhtml_config.xml ./cv/cv_de.xml --- NEW FILE: runcvhtml_en --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./cv/cvhtml_config.xml ./cv/cv_en.xml --- NEW FILE: runcvtex --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./cv/cvtex_config.xml ./cv/cv_de.xml --- NEW FILE: runcvtex_en --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./cv/cvtex_config.xml ./cv/cv_en.xml --- NEW FILE: runlatex1 --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./latex/latex_config.xml ./latex/latex1.xml --- NEW FILE: runlatex2 --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./latex/latex_config.xml ./latex/latex2.xml --- NEW FILE: runmath --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./math/math_config.xml ./math/math.xml --- NEW FILE: runsimpledoc --- #!/bin/bash java edu.iicm.xpg.generator.DocumentGenerator ./simpledoc/simpledoc_config.xml ./simpledoc/simpledoc.xml |
From: Stefan T. <th...@us...> - 2002-05-21 17:31:52
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvhtml In directory usw-pr-cvs1:/tmp/cvs-serv31562/transitions/cvhtml Modified Files: WriteGeneralFooterTransition.java WriteGeneralHeaderTransition.java WriteListTransition.java WritePersonalTransition.java Log Message: new transition interface Index: WriteGeneralFooterTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvhtml/WriteGeneralFooterTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WriteGeneralFooterTransition.java 13 May 2002 22:46:12 -0000 1.3 --- WriteGeneralFooterTransition.java 21 May 2002 16:59:30 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 53,62 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer document = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 54,63 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer document = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteGeneralHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvhtml/WriteGeneralHeaderTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WriteGeneralHeaderTransition.java 13 May 2002 22:46:12 -0000 1.3 --- WriteGeneralHeaderTransition.java 21 May 2002 16:59:30 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 48,57 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer document = new StringBuffer(); --- 49,58 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer document = new StringBuffer(); Index: WriteListTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvhtml/WriteListTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WriteListTransition.java 13 May 2002 22:46:12 -0000 1.1 --- WriteListTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 54,63 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 55,64 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WritePersonalTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/cvhtml/WritePersonalTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WritePersonalTransition.java 13 May 2002 22:46:12 -0000 1.1 --- WritePersonalTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 24,27 **** --- 24,28 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 56,65 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 57,66 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); |
From: Stefan T. <th...@us...> - 2002-05-21 17:31:11
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/util In directory usw-pr-cvs1:/tmp/cvs-serv31562/util Modified Files: Debug.java Log Message: new transition interface Index: Debug.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/util/Debug.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Debug.java 8 Apr 2002 13:08:49 -0000 1.1 --- Debug.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 22,26 **** package edu.iicm.xpg.util; ! // import org.dinopolis.util.Debug; public class Debug extends org.dinopolis.util.Debug --- 22,26 ---- package edu.iicm.xpg.util; ! // import org.dinopolis.util.Debug; public class Debug extends org.dinopolis.util.Debug |
From: Stefan T. <th...@us...> - 2002-05-21 17:29:38
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple In directory usw-pr-cvs1:/tmp/cvs-serv31562/transitions/simple Modified Files: SectEndTransition.java StoreDocAuthorTransition.java StoreDocContentTransition.java StoreDocTitleTransition.java StoreListItemTransition.java StoreXMLElementTransition.java WriteDocContentTransition.java WriteGeneralFooterTransition.java WriteGeneralHeaderTransition.java WriteHeaderTransition.java WriteParaTransition.java Log Message: new transition interface Index: SectEndTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/SectEndTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SectEndTransition.java 16 Apr 2002 06:55:02 -0000 1.2 --- SectEndTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 52,67 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { int sect_depth = ((Integer)data.removeObject("sect_depth")).intValue(); if (sect_depth <= 0) { ! throw (new IllegalStateException("illegal section depth: " ! + sect_depth)); } data.putObject( "sect_depth", new Integer(--sect_depth) ); --- 53,67 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { int sect_depth = ((Integer)data.removeObject("sect_depth")).intValue(); if (sect_depth <= 0) { ! throw (new TransitionException(new IllegalStateException("illegal section depth: " + sect_depth))); } data.putObject( "sect_depth", new Integer(--sect_depth) ); Index: StoreDocAuthorTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/StoreDocAuthorTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** StoreDocAuthorTransition.java 7 Feb 2002 09:42:18 -0000 1.1 --- StoreDocAuthorTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 49,58 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { String doc_author = (String)data.getObject("doc_author"); --- 50,59 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { String doc_author = (String)data.getObject("doc_author"); Index: StoreDocContentTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/StoreDocContentTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** StoreDocContentTransition.java 7 Feb 2002 09:42:18 -0000 1.1 --- StoreDocContentTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 47,56 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { String content = (String)data.getObject("content"); --- 48,57 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { String content = (String)data.getObject("content"); Index: StoreDocTitleTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/StoreDocTitleTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** StoreDocTitleTransition.java 7 Feb 2002 09:42:18 -0000 1.1 --- StoreDocTitleTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 47,56 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { String doc_title = (String)data.getObject("doc_title"); --- 48,57 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { String doc_title = (String)data.getObject("doc_title"); Index: StoreListItemTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/StoreListItemTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StoreListItemTransition.java 13 May 2002 06:23:57 -0000 1.2 --- StoreListItemTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 51,60 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { XMLElement new_item = (XMLElement)data.getXMLElement(); --- 52,61 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { XMLElement new_item = (XMLElement)data.getXMLElement(); Index: StoreXMLElementTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/StoreXMLElementTransition.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** StoreXMLElementTransition.java 4 May 2002 17:06:20 -0000 1.1 --- StoreXMLElementTransition.java 21 May 2002 16:59:31 -0000 1.2 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 49,58 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { XMLElement xml_element = (XMLElement)data.getXMLElement(); --- 50,59 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { XMLElement xml_element = (XMLElement)data.getXMLElement(); Index: WriteDocContentTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/WriteDocContentTransition.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** WriteDocContentTransition.java 16 Apr 2002 06:55:02 -0000 1.4 --- WriteDocContentTransition.java 21 May 2002 16:59:31 -0000 1.5 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 53,62 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 54,63 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteGeneralFooterTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/WriteGeneralFooterTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WriteGeneralFooterTransition.java 8 Mar 2002 19:04:38 -0000 1.3 --- WriteGeneralFooterTransition.java 21 May 2002 16:59:31 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 49,58 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 50,59 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteGeneralHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/WriteGeneralHeaderTransition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WriteGeneralHeaderTransition.java 28 Feb 2002 06:37:30 -0000 1.2 --- WriteGeneralHeaderTransition.java 21 May 2002 16:59:31 -0000 1.3 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 48,57 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer html_form = new StringBuffer(); --- 49,58 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer html_form = new StringBuffer(); Index: WriteHeaderTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/WriteHeaderTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WriteHeaderTransition.java 8 Apr 2002 14:13:16 -0000 1.3 --- WriteHeaderTransition.java 21 May 2002 16:59:31 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.Input; import edu.iicm.xpg.statemachine.State; *************** *** 52,61 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 53,62 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer html_form = (StringBuffer)data.getObject(Const.RESULT_BUFFER); Index: WriteParaTransition.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/transitions/simple/WriteParaTransition.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WriteParaTransition.java 8 Apr 2002 14:13:16 -0000 1.3 --- WriteParaTransition.java 21 May 2002 16:59:31 -0000 1.4 *************** *** 25,28 **** --- 25,29 ---- import edu.iicm.xpg.statemachine.Transition; + import edu.iicm.xpg.statemachine.TransitionException; import edu.iicm.xpg.statemachine.State; import edu.iicm.xpg.statemachine.StateMachine; *************** *** 54,63 **** * @param data user defined data * @return ! * @exception Exception whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws Exception { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); --- 55,64 ---- * @param data user defined data * @return ! * @exception TransitionException whatever an implementation can throw */ public String transitionTriggered(Input input,State from_state,State to_state, StateMachine machine,DataObject data) ! throws TransitionException { StringBuffer result = (StringBuffer)data.getObject(Const.RESULT_BUFFER); |
From: Stefan T. <th...@us...> - 2002-05-21 17:28:28
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/statemachine In directory usw-pr-cvs1:/tmp/cvs-serv32015 Added Files: TransitionException.java Log Message: new Exception --- NEW FILE: TransitionException.java --- /*********************************************************************** * @(#)$RCSfile: TransitionException.java,v $ * * Copyright (c) 2001 IICM, Graz University of Technology * Schiesstattgasse 4a, A-8010 Graz, Austria. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License (LGPL) * as published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***********************************************************************/ package edu.iicm.xpg.statemachine; //---------------------------------------------------------------------- /** * @author Stefan Thalauer * @version $Revision: 1.1 $ */ public class TransitionException extends Exception { protected Exception exception_; //---------------------------------------------------------------------- /** */ public TransitionException () { super(); exception_ = null; } //---------------------------------------------------------------------- /** */ public TransitionException (String message) { super(message); exception_ = null; } //---------------------------------------------------------------------- /** Create a new TransitionException wrapping an existing exception. * * The existing exception will be embedded in the new * one, and its message will become the default message for * the TransitionException. * * @param exc The exception to be wrapped in a TransitionException. */ public TransitionException (Exception exc) { super(); exception_ = exc; } //---------------------------------------------------------------------- /** Create a new TransitionException from an existing exception. * * The existing exception will be embedded in the new * one, but the new exception will have its own message. * * @param message The detail message. * @param exc The exception to be wrapped in a TransitionException. */ public TransitionException (String message, Exception exc) { super(message); exception_ = exc; } //---------------------------------------------------------------------- /** Return a detail message for this exception. * * If there is an embedded exception, and if the TransitionException * has no detail message of its own, this method will return * the detail message from the embedded exception.</p> * * @return The error or warning message. */ public String getMessage () { String message = super.getMessage(); if (message == null && exception_ != null) { return exception_.getMessage(); } else { return message; } } //---------------------------------------------------------------------- /** Return the embedded exception, if any. * * @return The embedded exception, or null if there is none. */ public Exception getException () { return exception_; } //---------------------------------------------------------------------- /** Override toString to pick up any embedded exception. * * @return A string representation of this exception. */ public String toString () { if (exception_ != null) { return exception_.toString(); } else { return super.toString(); } } } |
From: Stefan T. <th...@us...> - 2002-05-21 17:26:53
|
Update of /cvsroot/xpg-xml/classes In directory usw-pr-cvs1:/tmp/cvs-serv32706/classes Log Message: Directory /cvsroot/xpg-xml/classes added to the repository |
From: Stefan T. <th...@us...> - 2002-05-21 17:26:03
|
Update of /cvsroot/xpg-xml/classes/latex In directory usw-pr-cvs1:/tmp/cvs-serv530/latex Log Message: Directory /cvsroot/xpg-xml/classes/latex added to the repository |
From: Stefan T. <th...@us...> - 2002-05-21 17:24:31
|
Update of /cvsroot/xpg-xml/classes/cv In directory usw-pr-cvs1:/tmp/cvs-serv530/cv Log Message: Directory /cvsroot/xpg-xml/classes/cv added to the repository |