Java-Beispielprojekt
Das Authentic Desktop-Installationspaket enthält ein Java-Beispielprojekt, das Sie im Unterordner API\Java des Ordners Examples finden:
Windows 7, Windows 8, Windows 10, Windows 11 | C:\Benutzer\<Benutzername>\Dokumente\ |
Dieser Ordner enthält Java-Beispiele für die Authentic Desktop API. Sie können das Beispielprojekt mit Hilfe der Batch-Datei BuildAndRun.bat, direkt über die Befehlszeile testen oder Sie können es in Eclipse kompilieren und ausführen. Anleitungen dafür finden Sie weiter unten.
Dateiliste
Der Ordner für die Java-Beispiele enthält alle zum Ausführen des Beispielprojekts erforderlichen Dateien. Diese Dateien sind unten aufgelistet. Wenn Sie eine 64-Bit-Version der Applikation verwenden, enthalten einige Dateinamen _x64. Diese Dateinamen sind mit (_x64) gekennzeichnet.
AltovaAutomation(_x64).dll | Java-COM Bridge: DLL-Teil |
AltovaAutomation.jar | Java-COM Bridge: Java-Bibliotheksteil |
AuthenticAPI.jar | Java-Klassen der Authentic Desktop API |
RunAuthenticDesktop.java | Java-Beispielquellcode |
BuildAndRun.bat | Batch-Datei zum Kompilieren und Ausführen des Beispielcodes über die Befehlszeile. Es wird ein Ordner benötigt, in dem sich die Java Virtual Machine als Parameter befindet. |
.classpath | Hilfedatei Eclipse-Projekt |
.project | Eclipse-Projektdatei |
Authentic_JavaDoc.zip | Javadoc Datei, die die Hilfedokumentation für die Java API enthält |
Funktionen in diesem Beispiel
In diesem Beispielprojekt wird Authentic Desktop gestartet und einige Operationen wie das Öffnen und Schließen von Dokumenten werden ausgeführt. Authentic Desktop bleibt danach geöffnet. Sie müssen die Applikation manuell schließen.
•Start Authentic Desktop: Startet Authentic Desktop, das als Automation Server registriert ist, oder aktiviert das Programm, wenn Authentic Desktop bereits ausgeführt wird.
•Open example files: Navigiert zu einem der mit Authentic Desktop installierten Beispieldokumente und öffnet es.
•Iterieren durch und Ändern des Ansichtsmodus: Wechselt von der Ansicht aller offenen Dokumente in die Browser-Ansicht. Im Code wird auch gezeigt, wie man durch offene Dokumente iteriert.
•Iteration, Validierung und Ausgabeparameter: Validiert das aktive Dokument und zeigt das Ergebnis in einem Meldungsfeld an. Im Code wird gezeigt, wie Ausgabeparameter verwendet werden.
•Event-Behandlung: Zeigt, wie XMLSpy Events behandelt werden.
•Shutdown Authentic Desktop: Beendet Authentic Desktop.
Sie können das Beispiel beliebig modifizieren und es ausführen.
Ausführen des Beispiels über die Befehlszeile
Um das Beispiel von der Befehlszeile aus auszuführen, öffnen Sie ein Eingabeaufforderungsfester, gehen Sie zum Ordner Java des Ordners API Examples (Pfad siehe oben) und geben Sie folgende Zeile ein:
buildAndRun.bat "<Path-to-the-Java-bin-folder>"
Der Java Binary-Ordner muss von einer JDK 14 oder höheren Version auf Ihrem Rechner sein. Drücken Sie die Eingabetaste. Der Java-Quellcode in RunAuthenticDesktop.java wird kompiliert und anschließend ausgeführt.
Laden des Beispiels in Eclipse
Öffnen Sie Eclipse und wählen Sie den Befehl Import | Existing Projects into Workspace um die Eclipse-Projektdatei (.project) im Ordner Java des Ordners API Examples (Pfad siehe oben) zu Eclipse hinzuzufügen. Daraufhin wird das Projekt RunAuthenticDesktop in Ihrem Package Explorer oder Navigator angezeigt. Wählen Sie das Projekt aus und klicken Sie anschließend auf Run as | Java Application um das Beispiel auszuführen.
Anmerkung: | Sie können einen Klassennamen oder eine Methode der Java API auswählen und F1 drücken, um Hilfe zu dieser Klasse oder Methode zu erhalten. |
Java-Quellcode
Im Folgenden finden Sie den mit Kommentaren versehenen Java-Quellcode aus der Beispieldatei RunAuthenticDesktop.java.
01 // Access general JAVA-COM bridge classes
02 import com.altova.automation.libs.*;
03
04 // Access AuthenticDesktop Java-COM bridge
05 import com.altova.automation.AuthenticDesktop.*;
06 import com.altova.automation.AuthenticDesktop.Enums.SPYViewModes;
07
08 /**
09 * A simple example that starts AuthenticDesktop COM server and performs a view operations on it.
10 * Feel free to extend.
11 */
12 public class RunAuthenticDesktop
13 {
14 public static void main(String[] args)
15 {
16 // An instance of the application.
17 Application authenticDesktop = null;
18
19 // Instead of COM error-handling, use Java exception mechanism.
20 try
21 {
22 // Start AuthenticDesktop as COM server.
23 authenticDesktop = new Application();
24 // COM servers start up invisible so we make it visible
25 authenticDesktop.setVisible(true);
26
27 // Locate samples installed with the product.
28 String strExamplesFolder = System.getenv("USERPROFILE") + "\\My Documents\\Altova\\Authentic2012\\AuthenticExamples\\";
29
30 // Open two files from the product samples.
31 authenticDesktop.getDocuments().openFile(strExamplesFolder + "OrgChart.pxf", false);
32 authenticDesktop.getDocuments().openFile(strExamplesFolder + "ExpReport.xml", false);
33
34 // Iterate through all open documents and set the View Mode to 'Text'.
35 for (Document doc:authenticDesktop.getDocuments())
36 if ( doc.getCurrentViewMode() != SPYViewModes.spyViewText)
37 doc.switchViewMode(SPYViewModes.spyViewText);
38
39 // An alternative iteration mode is index-based. COM indices are typically zero-based.
40 Documents documents = authenticDesktop.getDocuments();
41 for (int i = 1; i <= documents.getCount(); i++)
42 {
43 Document doc = documents.getItem(i);
44
45 // Validation is one of the few methods that have output parameters.
46 // The class JVariant is the correct type for parameters in these cases.
47 // To get values back mark them with the by-reference flag.
48 JVariant validationErrorText = new JVariant.JStringVariant(""); validationErrorText.setByRefFlag();
49 JVariant validationErrorCount = new JVariant.JIntVariant(0); validationErrorCount.setByRefFlag();
50 JVariant validationErrorXMLData = new JVariant.JIDispatchVariant(0); validationErrorXMLData.setByRefFlag();
51 if (!doc.isValid(validationErrorText, validationErrorCount, validationErrorXMLData))
52 System.out.println("Document " + doc.getName() + " is not wellformed - " + validationErrorText.getStringValue());
53 else
54 System.out.println("Document " + doc.getName() + " is wellformed.");
55 }
56
57 // The following lines attach to the document events using a default implementation
58 // for the events and override one of its methods.
59 // If you want to override all document events it is better to derive your listener class
60 // from DocumentEvents and implement all methods of this interface.
61 Document doc = authenticDesktop.getActiveDocument();
62 doc.addListener(new DocumentEventsDefaultHandler()
63 {
64 @Override
65 public boolean onBeforeCloseDocument(Document i_ipDoc) throws AutomationException
66 {
67 System.out.println("Document " + i_ipDoc.getName() + " requested closing.");
68
69 // Allow closing of document
70 return true;
71 }
72 });
73 doc.close(true);
74 doc = null;
75
76 System.out.println("Watch AuthenticDesktop!");
77 }
78 catch (AutomationException e)
79 {
80 // e.printStackTrace();
81 }
82 finally
83 {
84 // Make sure that AuthenticDesktop can shut down properly.
85 if (authenticDesktop != null)
86 authenticDesktop.dispose();
87
88 // Since the COM server was made visible and still is visible, it will keep running
89 // and needs to be closed manually.
90 System.out.println("Now close AuthenticDesktop!");
91 }
92 }
93 }