Um Gedankenanstöße, Beispiele und lauffähige Integrationen der jadice document platform
anbieten zu können, liegen der Auslieferung verschiedene Demo-Clients bei.
Die Klassen sowie der zugehörige Quellcode werden im Verzeichnis
und
dessen Unterverzeichnissen zur Verfügung gestellt.[6]Auslieferungsverzeichnis
/demo
Die in dieser Demo-Integration vorliegenden Klassen stehen allesamt unter einer BSD-Lizenz und können somit nach Bedarf verwendet werden. Diese Klassen sind als Beispiele und Hilfe zur Integration sowie der Verwendung der jadice API gedacht. Sie werden daher als Zusatz mit der jadice document platform ausgeliefert. Die Demo-Klassen sind nicht Teil der zugesicherten jadice API und können sich deshalb in kommenden Versionen verändern, erweitern oder ganz wegfallen.
Beispiel-Anwendung BasicDemoApplication
Mit den Klassen BasicDemoApplication
und BasicJadicePanel
liegt dem
Demo-Paket eine direkt lauffähige Beispiel-Integration der jadice document platform bei.
BasicDemoApplication
bietet mit einem JFrame
das
notwendige Rahmenwerk um BasicJadicePanel
, die eigentliche Integration
der jadice-Komponenten, als Java-Anwendung zu starten.
Das BasicJadicePanel
beinhaltet eine Toolbar mit den wichtigsten
Viewer-Tools, eine Annotation-Toolbar zur Erstellung von Annotationen, eine
Statusbar zur Anzeige der Seitenzahl und des Zoom-Faktors, sowie eine
Menubar, die im JFrame
der BasicDemoApplication
gesetzt wird.
Das Erscheinungsbild der Applikation sowie die Strukturen von Toolbars und Menüs sind – basierend auf dem Action- und Command-Konzept des Viewers – beispielhaft über Konfigurationsdateien definiert. Nähere Informationen dazu werden in den folgenden Abschnitten gegeben.
Obwohl die Beispiel-Integration nicht direkt von eigenen Integrationen anprogrammiert werden sollte, bietet sie doch eine Hilfe zur groben Strukturierung der eigenen Umsetzung, Code-Abschnitte, die verändert und übernommen werden können, sowie eine Möglichkeit, große Teile der jadice-Funktionalität ohne größeren Aufwand auszuprobieren.
Mit dem JadiceDemoLauncher
gibt es nun die Möglichkeit, eine von
mehreren vorkonfigurierten Demo-Varianten zu starten. Es gibt drei
vordefinierte Demo-Konfigurationen: »Standard«, »Minimal« und
»Integriert«.
Diese Demos starten jeweils die BasicDemoApplication
mit einer
unterschiedlichen Action- und Command-Framework Konfiguration.
Die integrierte Demo[7] bietet ein anderes Erscheinungsbild durch einen angepassten
Frame
.
Weitere Informationen zur Konfiguration von weiteren Varianten sowie den
Einstellungsmöglichkeiten können den jeweiligen Klassenkommentaren des
JadiceDemoLauncher
s entnommen werden.
Da neben dem bereits genannten Demo-Paket auch verschiedene Klassen
existieren, die für viele Integrationen benötigt, aber oftmals an spezielle
Bedürfnisse angepasst werden müssen, stehen diese ebenfalls in einem eigenen
Paket zur Verfügung. Es handelt sich dabei um das Verzeichnis
.
Auch die darin enthaltenen Klassen liegen im Quellcode vor und stehen unter
BSD-Lizenz. Im Unterschied zum Demo-Paket gelten für die
AppBase-Klassen die gewohnten Zusicherungen der jadice public
API. Die AppBase-Klassen sind gedacht als Grundlage einer
eigenen Integration. Alternativ kann der enthaltene Quellcode direkt als
Ausgangsbasis für eigene Anpassungen genutzt werden.
Auslieferungsverzeichnis
/lib/appbase
Die AppBase-Komponenten teilen sich in zwei getrennte Bereiche auf. Die core-appbase Komponenten sind zur Verwendung mit jeglichen jadice Integrationen geeignet. Die swing-appbase Komponenten sind ausschließlich für Swing GUI Anwendungen sinnvoll.
In Maven können alle Versionsnummern der Dependencies und transitiven Dependencies in einer separaten pom-Datei abgelegt werden. Diese Datei wird als Bill of Materials oder BOM bezeichnet. Um die Versionsnummern für die abhängigen und transitiv abhängigen Pakete für den jadice viewer zu integrieren, kann die BOM-Datei angezogen werden. Das nachfolgende Beispiel zeigt wie die BOM eingebunden werden kann.
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>de.my.group.id</groupId> <artifactId>my-artifact-id</artifactId> <version>1.2.3-SNAPSHOT</version> <name>my package name</name> <packaging>jar</packaging> <dependencyManagement> <dependencies> <dependency> <groupId>com.levigo.jadice.documentplatform.viewer</groupId> <artifactId>jadice-swing-bom</artifactId> <version>3.34.2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- documentplatform --> <dependency> <groupId>com.levigo.jadice.documentplatform.viewer</groupId> <artifactId>jadice-swing-appbase</artifactId> </dependency>
[6] Details zur Struktur des Auslieferungsverzeichnisses finden sich unter „Das jadice-Paket“.
[7] Siehe EmbeddedDemoApplication