Beispiel: Persistente Inhalte innerhalb von Arbeitsabläufen
Innerhalb von Arbeitsabläufen können Inhalte über die Session auch gespeichert und nach dem Schalten einer Transition erneut ausgelesen werden.
Innerhalb der Aktivität „DoSelectCounting“ kann ein Zähler bei jeder Ausführung des Arbeitsablaufs um den Wert 1 erhöht werden. Der Wert des Zählers wird gespeichert und beim erneuten Start des Arbeitsablaufs erneut um den Wert 1 erhöht. Der Wert wird dem Bearbeiter innerhalb eines Informationsdialogs angezeigt.
Skript "counter"
//!Beanshell
import de.espirit.firstspirit.common.gui.*;
import de.espirit.firstspirit.ui.operations.RequestOperation;
import de.espirit.firstspirit.agency.OperationAgent;
session = context.getSession();
counter = session.get("counter");
if (counter == null) {
counter = new Integer(1);
}
text = "Zähler: " + counter;
requestOperation = context.requireSpecialist(OperationAgent.TYPE).getOperation(RequestOperation.TYPE);
requestOperation.setKind(RequestOperation.Kind.INFO);
requestOperation.addOk();
requestOperation.perform(text);
session.put("counter", new Integer(counter + 1));
context.doTransition("->Start");