Kai Moritz [Fri, 8 Jul 2016 16:31:26 +0000 (18:31 +0200)]
Projekt-Seite erstellt: Velocity-Template - JSON über th:with weitergereicht
Da die definierten Variablen sonst erst zu spät zur Verfügung stehen, müssen
sie per th:with in das Layout-Template hereingereicht und dort mit
juplo:variables verarbeitet werden.
Kai Moritz [Fri, 8 Jul 2016 09:49:11 +0000 (11:49 +0200)]
Projekt-Seite erstellt: Velocity-Template - Startseite in Pfad korrigiert
Diese Seite muss immer auf "index.html" verweisen und sollte immer den Namen
des Projekts tragen. (Zuvor hat sie auf die aktuelle Seite verwiesen und den
Namen der aktuellen Seite getragen.)
Kai Moritz [Fri, 8 Jul 2016 08:58:01 +0000 (10:58 +0200)]
Projekt-Seite erstellt: Velocity-Template - Extrainfo aus site.xml eingelesen
Für <menu>- und <item>-Tags in der site.xml können die Attribute "title",
"alt" und "img" angegeben werden. Diese Daten werden jetzt zusätzlich in
dem generierten JSON verfügbar gemacht. Für <item> als Einträge unterhalb
der Seite. Für das selbstdefinierte Menü (das unbenannte!) als
Top-Level-Variablen "site_title", "site_alt" und "site_img".
Kai Moritz [Fri, 8 Jul 2016 07:04:46 +0000 (09:04 +0200)]
Projekt-Seite erstellt: Velocity-Template - Einlesen der Daten überarbeitet
Die Verarbeitung der Menüdaten wurde so überarbeitet, dass automatisch
erzeugte Seiten in dem explizit in der site.xml definierten Menü
überschrieben werden können. Dabei/dadurch wird dann der Name der Seite
überschrieben. Ggf. der Seite untergeordnete Unterseiten bleiben erhalten.
Außerdem bleibt die Seite auch weiterhin in anderen Untermenüs unter dem
alten Namen erhalten, falls sie in einem Untermenü eingetragen war.
Umsetzung:
Die Daten werden zunächst in eine Map eingelesen. Dabei werden die
unbenannten Menüs (dies sind in der Regel die von der Hand definierten
Menüs) zuletzt eingelesen. Wenn die selbe URI in mehreren Menüs definiert
ist, werden zuvor eingelesenen Einträge überschrieben. Dabei werden aber die
zuvor erkannten Kind-Knoten erhalten.
Das maven-resource-plugin benötigt eine spezielle Version des
maven-filtering-plugin, um stets korrekt zu funktionieren. Sonst kommt es
zu undeterministischen Ausfällen, bei denen das Kommandoe "mvn site" mit
"Mark Invalid" scheitert.
Kai Moritz [Wed, 22 Jun 2016 08:34:46 +0000 (10:34 +0200)]
Moved all non-static methods in a separate class SimpleMapperService
The methods in SimpleMapper can be used static as they are, if the input is
presented in form of an instance of JsonParser.
An instance of SimpleMapperService can be configured, to use convenient
methods that take the input in several forms. The SimpleMapperService has
to be configured with an instance of JsonFactory, that is used internally,
to construct the JsonParser from the given input.