- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ValidationAgent geht nicht in Einblendelogik eines Arbeitsablaufes?
Hallo,
kann es sein, dass der ValidationAgent in der Einblendelogik von Arbeitsabläufen generell nicht zur Verfügung steht?
Ich hatte ein zunächst ein Script angelegt, dass in etwa wie folgt anfing:
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.agency;
import de.espirit.firstspirit.agency.*;
import de.espirit.firstspirit.agency.ValidationAgent;
import de.espirit.firstspirit.agency.ValidationAgent.*;
import de.espirit.firstspirit.ui.operations.*;
storeElement = context.getStoreElement();
if (storeElement != null) {
storeType = storeElement.getStore().getType();
validationAgent = context.requireSpecialist(de.espirit.firstspirit.agency.ValidationAgent.TYPE);
....
Als Kontektmenü-Skript funktioniert dies auch einwandfrei.
In der Eingabelogik eines Arbeitsablaufes wiederrum erzeugt die fett-markierte Zeile einen Fehler:
Target exception: java.lang.IllegalStateException: No specialist found for 'de.espirit.firstspirit.agency.ValidationAgent$1@87a036bc'!
Hab ich etwas übersehen, oder steht er in der Einblendelogik wirklich nicht zur Verfügung?
Gruß,
Micha
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bin nun den Weg über Broker + BrokerAgent gegangen. So funktionierts nun komischerweise auch in der Einblendelogik:
SpecialistsBroker broker = context.getConnection().getBroker();
BrokerAgent brokerAgent = broker.requireSpecialist(BrokerAgent.TYPE);
broker = brokerAgent.getBrokerByProjectName("PROJEKTNAME");
ValidationAgent validationAgent = broker.requireSpecialist(ValidationAgent.TYPE);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bin nun den Weg über Broker + BrokerAgent gegangen. So funktionierts nun komischerweise auch in der Einblendelogik:
SpecialistsBroker broker = context.getConnection().getBroker();
BrokerAgent brokerAgent = broker.requireSpecialist(BrokerAgent.TYPE);
broker = brokerAgent.getBrokerByProjectName("PROJEKTNAME");
ValidationAgent validationAgent = broker.requireSpecialist(ValidationAgent.TYPE);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Micha,
das klingt zunächst mal nach einem Fehler. Ich konnte aber keine Stelle sehen, an der der Agent nicht zur Verfügung gestellt wird. Kannst du bitte noch die FirstSpirit-Version und den Typ des StoreElements nennen, auf dem der Workflow gestartet werden soll? In welchem Kontext soll der Arbeitsablauf gestartet werden (anscheinend ja nicht in der UI direkt auf einem ausgewählten Element)? Gibt es evtl. Log-Ausgaben, die mehr als nur "nicht gefunden" sagen?
Dank und Gruß
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
das Storeelement ist vom Typ Page und die FS Version ist: 5.0.424.59809.
Weitere Hinweise liefern die Logs leider nicht.
Der Kontext ist mir auch noch ein kleines Rätsel - letztendlich läuft das ja in der Einblendelogik des Workflow (siehe Screen), als Kontext wird mir "GuiWorkflowScriptContextImpl" zurückgeliefert, den ich aber nirgends in der API finden konnte.
Gruß
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Implementierungsklassen stehen nur äußerst selten in der API
Das passende Interface ist ClientScriptContext.
Tatsächlich scheint es so, dass in der genannten Version überhaupt keine Agents aus dem ScriptContext heraus zur Verfügung stehen und dies erst ab dem Release von 5.0.5 behoben sein wird.
Grüße
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, dann stellt sich mir aber die Frage, warum der identische Code in einem Kontextmenu-Skript funktioniert hatte - dieser läuft doch auch über den ScriptContext, oder nicht?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Über das Kontextmenü bekommt das Skript einen anderen Kontext, keinen Workflow-bezogenen.

