Wiki-Quellcode von Statusverarbeitung
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{content/}} | ||
2 | |||
3 | == Schnittstelle: IPluginProcessing == | ||
4 | |||
5 | === Verwendungsmöglichkeiten === | ||
6 | |||
7 | {{figure image="plugin_processing.png" width="400" clear="h3"}} | ||
8 | Einordnung des Statusverarbeitungsplugins innerhalb der Prozesskette von {{formcycle case="dat"/}} | ||
9 | {{/figure}} | ||
10 | |||
11 | * Anbindung eigener Webservice-Schnittstellen, die übermittelte Formularwerte weiterverarbeiten sollen | ||
12 | * Anbindung von Fremdsystemen, welche Formularwerte weiterverarbeiten sollen | ||
13 | |||
14 | === Methodensignaturen === | ||
15 | |||
16 | Die Plugin-Schnittstelle //IPluginProcessing// referenziert alle durch die [[Basis-Schnittstelle IFCPlugin>>doc:Formcycle.PluginDevelopment.Types.IFCPlugin]] bereitgestellten Methoden | ||
17 | und zusätzlich noch folgende Plugin-spezifische Methodensignaturen: | ||
18 | |||
19 | {{panel title="{{code language='java'~}~}IPluginProcessingRetVal execute(IPluginProcessingParams params) throws FCPluginException{{/code~}~}" triggerable="true" fullwidth="true"}} | ||
20 | |||
21 | **Übergabewerte:** | ||
22 | |||
23 | {{warning}} | ||
24 | Bei allen Parametern wird vor der Übergabe an das Plugin die Platzhalterersetzung angewendet. Dabei wird z.B. //[%tf1%]// innerhalb des Wertes eines Parameters durch den Inhalt des Formularfelds mit Namen //tf1// eretzt. Derzeit ist es nicht einstellbar, ob die Platzhalterersetzung durchgeführt werden soll oder nicht. | ||
25 | {{/warning}} | ||
26 | |||
27 | Der Typ //IPluginProcessingParams// stellt folgende Eigenschaften bereit: | ||
28 | * Zugriff auf den Workflow-Verarbeitungskontext (//IWorkflowProcessingContext//) und damit auf zentrale Objekt wie: | ||
29 | ** aktueller Vorgang | ||
30 | ** Formulardaten | ||
31 | ** Sessionparameter | ||
32 | ** Parameter aus vorgelagerten Aktionsverarbeitungen des gleichen Status | ||
33 | ** aktueller Nutzerkontext um beispielsweise Datenbankoperationen ausführen zu können | ||
34 | * Zugriff auf das Aktionsobjekt in welcher die Verarbeitung durchgeführt wird und damit Informationen über die Einordnung der aktuellen Aktion innerhalb der Statusverarbeitung | ||
35 | * Zugriff auf die am Statusverarbeitungs-Plugin konfigurierten Parameter | ||
36 | |||
37 | **Rückgabewerte:** | ||
38 | Der Rückgabewert muss vom Typ //IPluginProcessingRetVal// sein. | ||
39 | Damit ist es möglich, einfache Statuswerte (//true// oder //false//), aber auch mehrere Werte in Form von Strings oder Binärdaten einer Datei zurückzuliefern. | ||
40 | |||
41 | Die nachfolgende Tabelle benennt die möglichen Rückgabe-Interfaces und deren Referenzimplementierung: | ||
42 | |||
43 | {{table dataTypeAlpha="0-1"}} | ||
44 | |= Interface|= Referenzimplementierung|= Beschreibung | ||
45 | |IProcessingResultSuccess|ProcessingResultSuccess|Zurückliefern eines Status (//true// oder //false//) | ||
46 | |IProcessingResultIntValue|ProcessingResultIntValue|Rückgabe eines Status und eines Integer-Wertes | ||
47 | |IProcessingResultStringValue|ProcessingResultStringValue|Rückgabe eines Status und eines String-Wertes | ||
48 | |IProcessingResultMultiValue|ProcessingResultMultiValue|Rückgabe eines Status und einer Map mit String-Werten | ||
49 | |IProcessingResultFilePath|ProcessingResultFilePath|Rückgabe eines Status und eines Dateipfades | ||
50 | |IProcessingResultFileData|ProcessingResultFileData|Rückgabe eines Status und den Binärdaten einer Datei | ||
51 | {{/table}} | ||
52 | {{html}}<br>{{/html}} | ||
53 | Bei fehlerhafter Abarbeitung des Plugins wird eine //FCPluginException// geworfen. Auf diese kann in der Statusverarbeitung von {{formcycle case="dat"/}}, durch Konfiguration einer Aktion, die im Fehlerfall ausgeführt werden soll, reagiert werden. | ||
54 | {{/panel}} |