Details
-
Bug
-
Resolution: Fixed
-
Major
-
5.1
-
Unknown
-
N/A
-
N/A
-
Description
I got the message: "Failed to execute the [velocity] macro" which cannot be clicked nor expanded...
With Chrome Dev Tools, I could get the root cause:
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [#set($msgParameter=$services.localization.render('xe.officeimporter.openoffice.parameter'))
#set($msgValue=$services.localization.render('xe.officeimporter.openoffice.value'))
#set($msgYes=$services.localization.render('xe.officeimporter.openoffice.yes'))
#set($msgNo=$services.localization.render('xe.officeimporter.openoffice.no'))
#set($msgServerType=$services.localization.render('xe.officeimporter.openoffice.servertype'))
#set($msgServerPort=$services.localization.render('xe.officeimporter.openoffice.serverport'))
#set($msgAutoConnect=$services.localization.render('xe.officeimporter.openoffice.autoconnect'))
#set($msgAutoStart=$services.localization.render('xe.officeimporter.openoffice.autostart'))
#set($msgServerTypeInternal=$services.localization.render('xe.officeimporter.openoffice.servertype.internal'))
#set($msgServerTypeExternalLocal=$services.localization.render('xe.officeimporter.openoffice.servertype.external'))
#set($msgServerTypeExternalRemote=$services.localization.render('xe.officeimporter.openoffice.servertype.remote'))
#set($msgServerPath=$services.localization.render('xe.officeimporter.openoffice.serverpath'))
#set($msgServerProfile=$services.localization.render('xe.officeimporter.openoffice.serverprofile'))
#set($msgServerProfileDefault=$services.localization.render('xe.officeimporter.openoffice.serverprofile.default'))
#set($msgServerState=$services.localization.render('xe.officeimporter.openoffice.serverstate'))
#set($msgActions=$services.localization.render('xe.officeimporter.openoffice.actions'))
#set($msgStart=$services.localization.render('xe.officeimporter.openoffice.actions.start'))
#set($msgConnect=$services.localization.render('xe.officeimporter.openoffice.actions.connect'))
#set($msgStop=$services.localization.render('xe.officeimporter.openoffice.actions.stop'))
#set($msgDisconnect=$services.localization.render('xe.officeimporter.openoffice.actions.disconnect'))
#set($msgRestart=$services.localization.render('xe.officeimporter.openoffice.actions.restart'))
#set($msgUpdate=$services.localization.render('xe.officeimporter.openoffice.update'))
#set($msgLimitedControl=$services.localization.render('xe.officeimporter.openoffice.limitedcontrol'))
#if($hasAdmin)
#set($currentAction = "$!{request.action}")
#if($currentAction == "stop" && ${services.csrf.isTokenValid("$!{request.getParameter('form_token')}")})
#if(!$services.officemanager.stopServer())
{{error}}$services.officemanager.lastErrorMessage{{/error}}
#end
#elseif($currentAction == "start" && ${services.csrf.isTokenValid("$!{request.getParameter('form_token')}")})
#if(!$services.officemanager.startServer())
{{error}}$services.officemanager.lastErrorMessage{{/error}}
#end
#elseif($currentAction == "restart" && ${services.csrf.isTokenValid("$!{request.getParameter('form_token')}")})
#if(!$services.officemanager.stopServer())
{{error}}$services.officemanager.lastErrorMessage{{/error}}
#elseif(!$services.officemanager.startServer())
{{error}}$services.officemanager.lastErrorMessage{{/error}}
#end
#end
#end
#set($actionStart=$msgConnect)
#set($actionStop=$msgDisconnect)
#set($autoStart=$msgAutoConnect)
#if($services.officemanager.config.serverType == 0)
#set($serverType=$msgServerTypeInternal)
#set($actionStart=$msgStart)
#set($actionStop=$msgStop)
#set($actionRestart=$msgRestart)
#set($autoStart=$msgAutoStart)
#elseif($services.officemanager.config.serverType == 1)
#set($serverType=$msgServerTypeExternalLocal)
#elseif($services.officemanager.config.serverType == 2)
#set($serverType=$msgServerTypeExternalRemote)
#end
{{html wiki="true" clean="false"}}
<form action="" enctype="multipart/form-data" method="post" class="xform">
<fieldset>
<legend>$services.localization.render('admin.ooserver.options')</legend>
{{info}}$services.localization.render('admin.ooserver.options.source', ['##xwiki.properties##']){{/info}}
<dl>
<dt><label>$msgServerType</label></dt>
<dd>$serverType</dd>
<dt><label>$msgServerPort</label></dt>
<dd>$services.officemanager.config.serverPort</dd>
<dt><label>$autoStart</label></dt>
<dd>#if($services.officemanager.config.autoStart)$msgYes#else$msgNo#end</dd>
#if($services.officemanager.config.serverType == 0)
<dt><label>$msgServerPath</label></dt>
<dd>$services.officemanager.config.homePath</dd>
<dt><label>$msgServerProfile</label></dt>
<dd>#if("$!services.officemanager.config.profilePath" == '' && $services.officemanager.config.profilePath != '')$msgServerProfileDefault#{else}$services.officemanager.config.profilePath#end</dd>
#end
<dt><label>$msgServerState</label></dt>
<dd>$services.officemanager.serverState</dd>
</dl>
</fieldset>
#if($hasAdmin && $xcontext.isMainWiki())
<fieldset>
<legend>$msgActions</legend>
<dl>
<dd><label for="action1"><input id="action1" name="action" type="radio" value="start" checked="checked"/> $actionStart</label></dd>
<dd><label for="action2"><input id="action2" name="action" type="radio" value="stop"/> $actionStop</label></dd>
#if($actionRestart)<dd><label for="action3"><input id="action3" name="action" type="radio" value="restart"/> $actionRestart</label></dd>#end
</dl>
</fieldset>
<div class="buttons">
<input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
<span class="buttonwrapper"><input type="submit" value="$msgUpdate" class="button"/></span>
</div>
#end
</form>
{{/html}}
#if($hasAdmin && !$xcontext.isMainWiki())
{{info}}$msgLimitedControl{{/info}}
#end]
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:131)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:50)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:302)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:198)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:59)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transformOnce(MacroTransformation.java:191)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:132)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:87)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:252)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:55)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:80)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:38)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:113)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:50)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:67)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:41)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:924)
at com.xpn.xwiki.XWiki.getRenderedContent(XWiki.java:3928)
at com.xpn.xwiki.XWiki.include(XWiki.java:3843)
at com.xpn.xwiki.api.XWiki.includeForm(XWiki.java:1679)
at com.xpn.xwiki.api.XWiki.includeForm(XWiki.java:1639)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.ASTElseIfStatement.render(ASTElseIfStatement.java:92)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:228)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:187)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:124)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:50)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:302)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:198)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:59)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transformOnce(MacroTransformation.java:191)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:132)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:87)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:252)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:55)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:80)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:38)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:113)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:50)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:67)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:41)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:924)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:903)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:934)
at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:603)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:228)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:187)
at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:105)
at com.xpn.xwiki.internal.template.DefaultPrivilegedTemplateRenderer.evaluate(DefaultPrivilegedTemplateRenderer.java:125)
at com.xpn.xwiki.internal.template.DefaultPrivilegedTemplateRenderer.evaluateTemplate(DefaultPrivilegedTemplateRenderer.java:75)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1829)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:166)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:295)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:128)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1448)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:120)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:144)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:368)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:488)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:943)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1004)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:861)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [xwiki:XWiki.XWikiPreferences]
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:247)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:187)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:124)
... 137 more
Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'startServer' in class org.xwiki.officeimporter.internal.server.script.OfficeServerScriptService threw exception java.lang.IllegalStateException: officeHome not set and could not be auto-detected at xwiki:XWiki.XWikiPreferences[line 32, column 30]
at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:243)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:187)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:530)
at org.apache.velocity.runtime.parser.node.ASTNotNode.evaluate(ASTNotNode.java:63)
at org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.ASTElseIfStatement.render(ASTElseIfStatement.java:92)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:228)
... 139 more
Caused by: java.lang.IllegalStateException: officeHome not set and could not be auto-detected
at org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration.buildOfficeManager(DefaultOfficeManagerConfiguration.java:163)
at org.xwiki.officeimporter.internal.server.DefaultOfficeServer.initialize(DefaultOfficeServer.java:126)
at org.xwiki.officeimporter.internal.server.DefaultOfficeServer.start(DefaultOfficeServer.java:172)
at org.xwiki.officeimporter.internal.server.script.OfficeServerScriptService.startServer(OfficeServerScriptService.java:111)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
... 151 more
We need to display a more friendly message to the user.