Dieser Beitrag soll zeigen, wie einfach man in SWT basierte Anwendungen die Data Source Funktionen einbauen kann.
Ich will das am Beispiel des Araya Bilingual Term Extracors zeigen (sh. dazu http://www.heartsome.de/de/termextraction.php). Das Werkzeug extrahiert aus einer TMX Datei mögliche bilinguale Terminologiekandidaten (also Übersetzungen). Die aktuelle Version ist auf TMX Dateien beschränkt. Es wäre natürlich schöner, wenn man auf beliebige Datenquellen zurückgreifen kann und daraus die Termpaare ermitteln kann. Was liegt näher als dazu die Funktionen von openTMS Data Sources zu verwenden, die einen einheitlichen Zugriff auf unterschiedliche Datenquellen ermöglichen.
In einem ersten Schritt soll das "OpenTMS Data Source Functions" Menu in eine SWT Menuleiste eingebaut werden. So sieht die Menüleiste vor der Änderung aus.

Das ist mit ein paar Zeilen Code erledigt
...
...
// Erzeugen eine SWT Menüleiste
private Menu menubar = new Menu(shell, SWT.BAR);
shell.setMenuBar(menubar);
....
// Erzeugen der Klasse OpenTMSMenu - diese enthält alle Standard OpenTMS Menueinträge
de.folt.models.applicationmodel.guimodel.editor.datasourceeditor.OpenTMSMenu openTMSplugin =
new de.folt.models.applicationmodel.guimodel.editor.datasourceeditor.OpenTMSMenu(shell);
// Erzeugen der Menu-Inhalte
openTMSplugin.createOpenTMSMenu(menubar);
...
Statt
de.folt.models.applicationmodel.guimodel.editor.datasourceeditor.OpenTMSMenu openTMSplugin = new de.folt.models.applicationmodel.guimodel.editor.datasourceeditor.OpenTMSMenu(shell);
kann man auch
openTMSplugin.createOpenTMSMenu(menubar, de.folt.models.applicationmodel.guimodel.editor.datasourceeditor.OpenTMSMenu.allMenus);
verwenden.
Als zweiten Parameter kann man hier die Menüeinträge festlegen, die angezeigt werden sollen. Folgende Optionen stehen zur Auswahl:
OpenTMSMenu.allMenus
OpenTMSMenu.translate
OpenTMSMenu.reverseConversion
OpenTMSMenu.createDataSource
OpenTMSMenu.deleteDataSource
OpenTMSMenu.manageMultipleDataSource
OpenTMSMenu.importIntoDataSource
OpenTMSMenu.exportFromDataSource
OpenTMSMenu.exportXliffInternalTerminology
OpenTMSMenu.copyFromToOpenTMSDataSource
openTMSplugin.createOpenTMSMenu(menubar, OpenTMSMenu.translate|OpenTMSMenu.reverseConversion);
würde nur den Menüeintrag "Übersetzen (inklusive Konvertieren)" und den Menüeintrag "Rückwärtskonvertierung" erzeugen.

Das war ziemlich einfach. Als nächstes sollen openTMS Funktionen in Dialoge eingebaut werden. Dazu soll der Extraktor-Dialog um die Möglichkeit openTMS Data Sourcen auszuwählen und zur Extraktiuon zu verwenden erweitert werden.

Hier soll es alternativ zur "Quelldatei" möglich sein eine Data Source auszuwählen. Wie das funktioniert zeige ich im nächsten Beitrag.
Die oben angeführten Klassen/Methoden aus
de.folt.models.applicationmodel.guimodel.editor.datasourceeditor.OpenTMSMenu openTMSplugin
werden in der nächsten Version von openTMS enthalten sein. Zu beachten ist auch, dass beim Einsatz der Methoden openTMS.jar im classpath o.ä. zu finden sein muss.
Der Beitrag über die Fuzzy Suche erscheint demnächst!
Dr. Klemens Waldhör klemens.waldhoer @ opentms.de - Heartsome Europe GmbH www.heartsome.de