inchorus GadgetAPI Plugin Dokumentation

Author: Thomas Gertler
Publication Date: 2021-12-08

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.

Print this page