Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
17.4.2, 17.6.0
-
None
-
Unknown
-
Description
Step to reproduce:
- Install the job-macro extension
- create a page with this content:
{{job groupId="testAnnotated" id="testAnnotated" start="true"}} {{groovy}} logger = services.logging.getLogger(doc.fullName); services.logging.setLevel(doc.fullName, org.xwiki.logging.LogLevel.INFO); logger.info("calling") try { def x = services.wysiwyg.fromAnnotatedXHTML("<p>Hello</p>", 'xwiki/2.1') logger.info("OK") } catch (Exception e) { logger.error('Unhandled exception', e) } {{/groovy}} {{/job}}
Expected: the macro work and log "OK"
Currently: it fail with this error:
Cannot invoke "org.xwiki.container.servlet.ServletSession.getSession()" because the return value of "org.xwiki.container.Container.getSession()" is null class java.lang.NullPointerException: Cannot invoke "org.xwiki.container.servlet.ServletSession.getSession()" because the return value of "org.xwiki.container.Container.getSession()" is null at org.xwiki.store.filesystem.internal.DefaultTemporaryAttachmentSessionsManager.getSession(DefaultTemporaryAttachmentSessionsManager.java:78) at org.xwiki.store.filesystem.internal.DefaultTemporaryAttachmentSessionsManager.getOrCreateSession(DefaultTemporaryAttachmentSessionsManager.java:84) at org.xwiki.store.filesystem.internal.DefaultTemporaryAttachmentSessionsManager.getUploadedAttachments(DefaultTemporaryAttachmentSessionsManager.java:162) at org.xwiki.wysiwyg.script.WysiwygEditorScriptService.injectTemoraryAttachments(WysiwygEditorScriptService.java:422) at org.xwiki.wysiwyg.script.WysiwygEditorScriptService.createSecurityDocument(WysiwygEditorScriptService.java:415) at org.xwiki.wysiwyg.script.WysiwygEditorScriptService.fromAnnotatedXHTML(WysiwygEditorScriptService.java:376) at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) at Script59.run(Script59.groovy:5) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:331) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:161) at org.xwiki.rendering.macro.script.AbstractJSR223ScriptMacro.eval(AbstractJSR223ScriptMacro.java:338) at org.xwiki.rendering.macro.script.AbstractJSR223ScriptMacro.evaluateBlock(AbstractJSR223ScriptMacro.java:238) at org.xwiki.rendering.macro.script.AbstractJSR223ScriptMacro.evaluateBlock(AbstractJSR223ScriptMacro.java:193) at org.xwiki.rendering.macro.script.AbstractJSR223ScriptMacro.evaluateBlock(AbstractJSR223ScriptMacro.java:56) at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:182) at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:58) at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:441) at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183) at org.xwiki.rendering.internal.macro.DefaultMacroContentParser.performTransformation(DefaultMacroContentParser.java:212) at org.xwiki.rendering.internal.macro.DefaultMacroContentParser.createXDOM(DefaultMacroContentParser.java:170) at org.xwiki.rendering.internal.macro.DefaultMacroContentParser.parse(DefaultMacroContentParser.java:117) at org.xwiki.rendering.internal.macro.DefaultMacroContentParser.parse(DefaultMacroContentParser.java:94) at org.xwiki.rendering.internal.macro.DefaultMacroContentParser.parse(DefaultMacroContentParser.java:87) at wiki:xwiki//org.xwiki.contrib.jobmacro.internal.JobMacroJob.runInternal(JobMacroJob.java:154) at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:246) at wiki:xwiki//org.xwiki.contrib.jobmacro.internal.JobMacroJob.run(JobMacroJob.java:120) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840)
Note, calling from a page this way work:
{{groovy}} services.wysiwyg.fromAnnotatedXHTML("<p>Hello</p>", 'xwiki/2.1') {{/groovy}}
So the issue is probably related to the context in the job-macro.