Hallo,
wir haben in einem Formular von einer Section ziemlich viele Variablen hinterlegt. Bei der Generierung der zugehörigen Seite haben wir bislang ein BSH-Skript aufgerufen, das eine Query ausführte. In dem BSH-Skript konnte man dabei direkt auf die Variablen zugreifen, die in der Section hinterlegt waren, z.B. in der Form
int maxItems = context.getProperty("st_maxItems")
Wir haben das Skript aus verschiedenen Gründen nun in ein Executable überführt.
Innerhalb der Methode
public Object execute(Map<String, Object> params) throws ExecutionException {
werden die Parameter durchgeschleust. So auch das Context-Objekt:
GenerationContext c = (GenerationContext) params.get("context");
Der Aufruf von
Object o = context.getProperty("st_maxItems");
liefert allerdings NULL zurück -- entgegen der Erwartung, die man mit dem BSH.Skript gemacht hat.
Wir halten dies für einen Bug.
Der Workaround, in den Kontext die ausgewählte Section hineinzureichen, um anschließend von dort aufs Template und dessen GOMSourceProvider zu kommen, der wiederum alle Variablen des Formulars enthält, kann wirklich nicht die "hübsche Art" sein...
Ist dieser Fehler bereits bekannt und gibt es dazu idealerweise bereits eine Lösungsversion?