Menü der Dokumentation

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 

  1. Öffnen Sie d.3 admin > Systemeinstellungen > d. 3 config.

  2. 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
    }
}