Groovy API-Funktionen
d.3 server verfügt ab Version 8 über eine Plug-in-Schnittstelle für API-Funktionen.
Damit können eigene, in Java/Groovy entwickelte API-Funktionen registriert werden.
Diese können wie andere d.3-API-Funktionen über das d.3-Kommunikations-Protokoll d3fc aufgerufen werden.
Warnung
Groovy API-Funktionen stehen Ihnen über die d.3 web webservice-API-Schnittstelle nicht zur Verfügung
Die Groovy API-Funktionen können von d.ecs forms über das dortige Skripting verwendet werden, sowie für d.velop-eigene Projekte.
Aktivieren der Plug-in-Schnittstelle
Öffnen Sie d.3 admin > Systemeinstellungen > d. 3 config.
Geben Sie im Abschnitt Java/Groovy für den Eintrag Java/Groovy API Funktionen ein Verzeichnis an.
Groovy-Skripte, die d.3-API-Funktionen implementieren, werden in diesem Verzeichnis gesucht und daraus geladen.
Dadurch wird die Plug-in-Schnittstelle für API-Funktionen aktiviert.
Damit eine Java-Klasse als d.3 API-Funktion geladen und registriert wird, muss die Java-Klasse von der Klasse D3ApiCall abgeleitet sein und eine Methode public int execute(D3Interface d3) implementieren.
Darüber steht dann das D3Interface zur Verfügung.
import com.dvelop.d3.server.core.D3Interface;
import com.dvelop.d3.server.D3ApiCall;
import com.dvelop.d3.server.User;
public class GetMyDBData extends D3ApiCall
{
public int execute(D3Interface d3)
{
def import_param = d3.remote.getImportParams()
def id_value = import_param.get("id")
def resultset = d3.sql.executeAndGet("SELECT column1, column2 FROM mytable WHERE id like ?", [id_value])
d3.remote.setExportTable( resultset )
d3.remote.setExportParams(["number" : resultset.size()])
return 0
}
}