wolfmich
I'm new here

Error: GenerateList

Jump to solution

Hallo zusammen,

aktuell versuche ich mir eine Liste von verfügbaren Sprachen und TemplateSets über den ScheduleContext wie folgt zu holen:

/**
* Returns a list of enabled languages and template
* sets to be generated by the schedule task.
*
* @return List
*/
private List getGenerateList() {

    List<Pair<Language, TemplateSet>> generateList = new ArrayList<Pair<Language, TemplateSet>>();
  List<ScheduleTask> scheduleTasks = ((ScheduleContext) context).getTasks();

    for (ScheduleTask scheduleTask : scheduleTasks) {

        if (scheduleTask instanceof GenerateTask) {

            generateList = ((GenerateTask) scheduleTask).getGenerateList();
        }

    }

    return generateList;
}

Bei der Ausführung des Auftrags erhalte ich das folgende Error-Stack:

ERROR 07.04.2015 08:05:39.670 (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): error in task 'prepare exclusion list' - schedule entry 'Delta-Generation (Alpha)' (id=2256309) - de.espirit.firstspirit.access.script.SyntaxError: bsh.ParseException: Parse error at line 38, column 26.  Encountered: ,

de.espirit.firstspirit.access.script.SyntaxError: bsh.ParseException: Parse error at line 38, column 26.  Encountered: ,

    at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.<init>(BeanshellScriptEngine.java:76)

    at de.espirit.firstspirit.server.script.BeanshellScriptEngine.getExecutable(BeanshellScriptEngine.java:55)

    at de.espirit.firstspirit.common.ScriptUtil.getExecutable(ScriptUtil.java:86)

    ...

Die geworfene Syntax/Parse Exception würde ich ausschließen, da die Entwicklung gegen die API erfolgt und keine Fehler in der IDE wirft.

Für Hinweise und Lösungsvorschläge bin ich dankbar!

@Edit: Die Fehlermeldung bezieht sich auf die folgende Zeile:

List<Pair<Language, TemplateSet>> generateList = new ArrayList<Pair<Language, TemplateSet>>();

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Michael,

kleine Ergänzung: Die Beanshell-Engine unterstützt (in FS5) zwar Generics, aber nur eingeschränkt. Es werden nur "einfache" Generics verstanden, d.h. Dinge wie List<SomeClass>

Was z.B. meiner Erfahrung nach nicht geht:

  • Generics mit mehr als einem Parameter wie Map<String, SomeClass>
  • Verschachtelungen wie List<List<SomeClass>>
  • Casts auf generische Typen wie List<String> list = (List<String>) something;
  • Wildcards wie List<?> oder List<? extends SomeClass>

Viele Grüße

Michael

View solution in original post

0 Kudos
3 Replies
pavone
I'm new here

Hallo Michael,

soweit ich weiß unterstützt BeanShell keine Generics, weshalb die Parse Exception auftritt. Du könntest den Code in ein eigenes Modul verlagern.

Viele Grüße

Tim

0 Kudos
mbergmann
Crownpeak employee

Hallo Michael,

kleine Ergänzung: Die Beanshell-Engine unterstützt (in FS5) zwar Generics, aber nur eingeschränkt. Es werden nur "einfache" Generics verstanden, d.h. Dinge wie List<SomeClass>

Was z.B. meiner Erfahrung nach nicht geht:

  • Generics mit mehr als einem Parameter wie Map<String, SomeClass>
  • Verschachtelungen wie List<List<SomeClass>>
  • Casts auf generische Typen wie List<String> list = (List<String>) something;
  • Wildcards wie List<?> oder List<? extends SomeClass>

Viele Grüße

Michael

0 Kudos

Hallo Michael,

vielen Dank für deine Ergänzung.

Viele Grüße, Michael

0 Kudos