Komponenten und Integrationsbeispiele

Demo-Integrationen

Allgemeine Informationen zum Paket

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 Auslieferungsverzeichnis/demo und dessen Unterverzeichnissen zur Verfügung gestellt.[6]

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 JadiceDemoLaunchers entnommen werden.

AppBase-Komponenten

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 Auslieferungsverzeichnis/lib/appbase. 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.

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.

Bill of Materials (BOM)

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>2.9.1</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“.

[jadice document platform Version 5.5.12.1: Dokumentation für Entwickler. Veröffentlicht: 2021-08-17]