inchorus GadgetAPI Plugin Dokumentation
1 Einführung #
Das GadgetAPI Plugin bietet Ihnen die Möglichkeit auf die API eines Gadgets zuzugreifen. Das Plugin bietet verschiedene grundlegende Anfragen, für die in jedem standardmäßig erstellten Gadget Schnittstellen definiert sind, dazu gehören:
Statusabfrage
Erstellen von Ordnern
Abfragen von Ordnern
Herunterladen von Dateien
Abfragen und Ändern der Konfigurationsdatei
Abfrage der Umgebungsvariablen
Speicherabfrage
Neustart des Gadgets
Darüber hinaus definiert das Plugin Request- und Response Klassen, mit Hilfe derer beliebige GET, POST (UPDATE), PUT (CREATE), DELETE und DOWNLOAD Anfragen an ein Gadget gestellt werden können.
Das GadgetAPI Plugin basiert auf dem Apache HttpComponents Project und verwendet das inchorus XML Plugin.
2 Wie wird das Plugin verwendet? #
Plugin einbinden
Öffnen Sie die Datei pom.xml Ihres inchorus Gadget Projektes und ergänzen Sie folgende Zeilen im Abschnitt "dependencies":
<dependency>
<groupId>de.guh.plugin</groupId>
<artifactId>inchorus-gadgetapi-plugin</artifactId>
<version>2.x.x</version>
</dependency>
Passen Sie die Versionsnummer auf die aktuelle Version des Plugins an und die benötigten Abhängigkeiten werden automatisch aus dem Maven Repository heruntergeladen.
Initialisieren der Gadget API
String gadgeturl = "http://localhost:55080/mygadget/api/";
String username = "user";
String password = "passwort";
GadgetAPI gadgetAPI = new GadgetAPI(gadgeturl, username, password);
Folgende Parameter werden mindestens benötigt:
String gadgeturl – Die URL, unter der das Gadget erreichbar ist.
String username – Der Benutzername, mit dem eine Authentifizierung beim Gadget möglich ist.
String password - Das Passwort, mit dem der Nutzer authentifiziert werden kann.
Zusätzlich kann als vierter Parameter ein benutzerdefinierter Timeout als String übergeben werden. Standardmäßig beträgt der Timeout 1000 Sekunden, in denen auf eine Response gewartet wird, bevor die Anfrage als fehlgeschlagen gilt.
Aufrufen von vordefinierten Anfragen
Eine der neun standardmäßig vordefinierten Anfragen können direkt aufgerufen werden und liefern ein Objekt der Klasse GadgetAPIResponse
, dass die Rückgabedaten als XML enthält.
Im folgenden Beispiel wird die config.xml
, des im vorherigen Abschnitt verbundenen Gadgets, abgefragt und formatiert ausgegeben:
GadgetAPIResponse apiResponse = gadgetAPI.getConfiguration();
if (apiResponse.wasSuccess()) {
System.out.println("SUCCESS: " + apiResponse.getDataAsXML().toFormatedString());
} else {
System.out.println("ERROR:" + apiResponse.getStatuscode());
}
Zum Ändern von Konfigurationsvariablen wird der Aufruf modifyConfiguration(Vector<GadgetAPIVariable>)
verwendet, der die Konfigurationsvariablen als GadgetAPIVariable
erhält, nähere Informationen dazu und die weiteren Methoden finden sich in der Java Dokumentation.
Aufrufen von benutzerdefinierten Anfragen
Um weitere Anfragen an ein Gadget zu stellen, die nicht in der Klasse GadgetAPI
vordefiniert sind, kann die Methode sendRequest(GadgetAPIRequest)
verwendet werden, die eine Anfrage entsprechend der im GadgetAPIRequest
Objekt definierten Werten an das Gadget stellt:
GadgetAPIRequest gdRequest = new GadgetAPIRequest(GadgetAPIRequest.type_GET, "gadget", null, "settings");
gdRequest.setTimeout("100");
GadgetAPIResponse gdResponse = gadgetAPI.sendRequest(gdRequest);
Im obigen Beispiel wird ein Request vom Typ GET erstellt, der die Resource "gadget" betrifft. Die Resource ID wird für diesen Fall nicht definiert ("null"), da das gesamte Gadget angefragt wird. Als Aktion wird "settings" gesetzt, damit die entsprechend definierte Methode im Gadget aufgerufen wird, die bspw. die Einstellungen zurückliefert. Danach wird ein Timeout von 100 Sekunden gewählt und die Anfrage an das Gadget gesendet, die eine GadgetAPIResponse
als Antwort erzeugt.
3 Weitere Informationen #
Nähere Informationen zu den Klassen und Methoden finden sie in der API Dokumentation.
Beispiele finden Sie im Ordner Beispiele.
Bei Fragen und Anregungen nutzen Sie unser inchorus Forum.
Dieses Dokument erhalten sie hier auch als PDF.
4 Ihr Kontakt #
G+H Systems GmbH
Professionell, effizient und zuverlässig.
Ludwigstraße 8
63067 Offenbach am Main
Deutschland
Telefon: +49 (0) 69 85 00 02 - 0
Fax: +49 (0) 69 85 O0 02 - 51
Email: info@guh-systems.de
Web: www.guh-systems.de
5 Rechtliche Hinweise #
Die G+H Systems leistet keinerlei Gewähr bezüglich des Inhaltes oder Gebrauchs dieser Dokumentation. Insbesondere werden keine ausdrücklichen oder stillschweigenden Gewährleistungen hinsichtlich der handelsüblichen Qualität oder Eignung für einen bestimmten Zweck übernommen. Die G+H Systems behält sich weiterhin das Recht vor, diese Dokumentation zu revidieren und ihren Inhalt jederzeit und ohne vorherige Ankündigung zu ändern.
Des Weiteren übernimmt die G+H Systems für Software keinerlei Haftung und schließt insbesondere jegliche ausdrücklichen oder impliziten Gewährleistungsansprüche bezüglich der Marktfähigkeit oder der Eignung für einen bestimmten Zweck aus. Außerdem behält sich die G+H Systems das Recht vor, G+H Software ganz oder teilweise jederzeit inhaltlich zu ändern, ohne dass für die G+H Systems die Verpflichtung entsteht, Personen oder Organisationen von diesen Überarbeitungen oder Änderungen in Kenntnis zu setzen.
Copyright © inchorus ist ein Produkt der G+H Systems GmbH
Ohne ausdrückliche, schriftliche Genehmigung des Herausgebers darf kein Teil dieser Veröffentlichung reproduziert, fotokopiert, übertragen oder in einem Speichersystem verarbeitet werden.