Wichtig
Kleinigkeit
Fehlerbehebung
Wichtig
Verbesserung
Die Schnittstelle für ein Download ist aktuell com.top_logic.layout.WindowScope.deliverContent(BinaryData, boolean). Das ist ungeschickt, da BinaryData die Methode InputStream getStream() anbieten muss. Hierfür müssen die Download-Daten i.d.R. schon vorliegen und können nicht (einfach) dynamisch während des Downloads erzeugt werden.
Verbesserung
Verallgemeinerung zu BinaryDataSource mit einer Schnittstelle void deliverTo(OutputStream out). Dies passt besser zu der Ziel-Schnittstelle request.getOutputStream() und erlaubt die dynamische Erzeugung von Download-Daten.
Test
Refactoring, kein zusätzlicher Test.