LessResourceReference.javaResourceReference-Implementierung, die die kompilierte CSS-Ausgabe des LESS-Compilers in Wickets Ressourcen-Mounting-System einbindet. Anstatt CSS aus dem Klassenpfad zu bedienen (wie ein standardmäßiges PackageResource), umschließt diese Klasse einen FileResourceStream, der auf den Dateisystempfad verweist, in den der LESS-Compiler seine Ausgabe schreibt – dies ermöglicht dynamische CSS-Kompilierung zur Entwicklungszeit, während das kompilierte Ergebnis über Wickets standardmäßige Ressourcen-URL-Endpunkte mit Cache-Busting-Versionierung ausgeliefert wird.Die standardmäßige Wicket-PackageResourceReference bedient nur Dateien aus dem Klassenpfad. Der LESS-Kompilierungs-Workflow schreibt .css-Dateien in ein Dateisystemverzeichnis (unter baseDir/styles/), das nicht im Klassenpfad liegt. LessResourceReference umschließt den Pfad der kompilierten Datei und delegiert an eine private LessPackageResource-Unterklasse, die getResourceStream() überschreibt, um einen FileResourceStream zurückzugeben, anstatt im Klassenpfad zu suchen. Dies fügt sich sauber in Wickets Ressourcen-Mounting-API ein – das kompilierte CSS wird als .../styles/projectforge-version-{timestamp}.css bereitgestellt.
Die private innere Klasse LessPackageResource erweitert PackageResource, umgeht jedoch dessen Klassenpfad-Suche vollständig. Der Konstruktor übergibt Dummy-Werte (null für Locale, Stil, Variation), da diese Parameter für eine dateibasierte Ressource irrelevant sind.
| Commit | Was geändert wurde |
|---|---|
868d6abb7 bis ceb63e8a1 | Sechs jährliche Aktualisierungen der Copyright-Header (2001-2021 → 2001-2026). Keine Änderungen an der Java-Klassenlogik oder -struktur – die Implementierung dieser Datei ist seit ihrer ursprünglichen Erstellung stabil. Der Copyright-Zeitraum wird jedes Jahr im Rahmen einer projektweiten Aktualisierung der Header erweitert. |