Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-11963

ActivityStreamPlugin: buggy filter parameter

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Fix
    • Minor
    • None
    • 6.4.3
    • Event Stream
    • fresh jetty package
    • Unknown
    • N/A
    • N/A

    Description

      Hello,

      I found a buggy parameter in ActivityStreamPlugin API.
      Doc indicate for getEventsForUser:

      public List<ActivityEvent> getEventsForUser(String user, boolean filter, int nb, int start)
      Return the latest recorded events triggered by the given user.
      Parameters:
      user - the user to retrieve latest events for
      filter - if true, group the matched events by priority
      nb - the number of events to retrieve
      start - the offset to start retrieving event at

      If I set filter on true the method return an error.
      This code

      {{velocity}}
      #foreach ($MonEvent in $xwiki.activitystream.getEventsForUser('xwiki:XWiki.Admin', true, 1500, 0))
      1. $MonEvent.getDisplayUser() - $MonEvent.getUser()
      #end
      {{/velocity}}
      

      display this error:

      org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [#foreach ($MonEvent in $xwiki.activitystream.getEventsForUser('xwiki:XWiki.Admin', true, 1500, 0))
      1. $MonEvent.getDisplayUser() - $MonEvent.getUser()
      #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:286)
      	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:252)
      	at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
      	at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:94)
      	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:96)
      	at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39)
      	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:1104)
      	at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1082)
      	at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1114)
      	at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:674)
      	at sun.reflect.GeneratedMethodAccessor198.invoke(Unknown Source)
      	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.value(ASTReference.java:567)
      	at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
      	at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
      	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.xwiki.velocity.introspection.TryCatchDirective.render(TryCatchDirective.java:72)
      	at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
      	at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:256)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:198)
      	at com.xpn.xwiki.internal.template.TemplateManager.evaluateContent(TemplateManager.java:674)
      	at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:574)
      	at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:555)
      	at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:526)
      	at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:512)
      	at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1714)
      	at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1694)
      	at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:801)
      	at sun.reflect.GeneratedMethodAccessor142.invoke(Unknown Source)
      	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.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.evaluateInternal(DefaultVelocityEngine.java:256)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:198)
      	at com.xpn.xwiki.internal.template.TemplateManager.evaluateContent(TemplateManager.java:674)
      	at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:574)
      	at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:555)
      	at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:526)
      	at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:512)
      	at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1714)
      	at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:184)
      	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:355)
      	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:146)
      	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
      	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
      	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
      	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1667)
      	at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      	at org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      	at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      	at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      	at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      	at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
      	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      	at org.eclipse.jetty.server.Server.handle(Server.java:497)
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
      	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [xwiki:Sandbox.test2]
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:224)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:198)
      	at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:124)
      	... 118 more
      Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getEventsForUser' in  class com.xpn.xwiki.plugin.activitystream.plugin.ActivityStreamPluginApi threw exception com.xpn.xwiki.plugin.activitystream.api.ActivityStreamException: Error number 3223 in 3: Error number 3223 in 3: Exception while searching documents with sql select act from ActivityEventImpl as act, ActivityEventImpl as act2  where act.eventId=act2.eventId and  (act.hidden <> true or act.hidden is null) and act.user=xwiki:XWiki.Admin group by act.requestId having (act.priority)=max(act2.priority) order by act.date desc at 116:xwiki:Sandbox.test2[line 1, column 46]
      	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.value(ASTReference.java:567)
      	at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:318)
      	at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
      	at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:256)
      	at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
      	... 120 more
      Caused by: com.xpn.xwiki.plugin.activitystream.api.ActivityStreamException: Error number 3223 in 3: Error number 3223 in 3: Exception while searching documents with sql select act from ActivityEventImpl as act, ActivityEventImpl as act2  where act.eventId=act2.eventId and  (act.hidden <> true or act.hidden is null) and act.user=xwiki:XWiki.Admin group by act.requestId having (act.priority)=max(act2.priority) order by act.date desc
      	at com.xpn.xwiki.plugin.activitystream.impl.ActivityStreamImpl.searchEvents(ActivityStreamImpl.java:685)
      	at com.xpn.xwiki.plugin.activitystream.impl.ActivityStreamImpl.searchEvents(ActivityStreamImpl.java:605)
      	at com.xpn.xwiki.plugin.activitystream.impl.ActivityStreamImpl.searchEvents(ActivityStreamImpl.java:591)
      	at com.xpn.xwiki.plugin.activitystream.impl.ActivityStreamImpl.searchEvents(ActivityStreamImpl.java:570)
      	at com.xpn.xwiki.plugin.activitystream.impl.ActivityStreamImpl.getEventsForUser(ActivityStreamImpl.java:710)
      	at com.xpn.xwiki.plugin.activitystream.plugin.ActivityStreamPluginApi.getEventsForUser(ActivityStreamPluginApi.java:462)
      	at sun.reflect.GeneratedMethodAccessor566.invoke(Unknown Source)
      	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)
      	... 127 more
      Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
      	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
      	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
      	at org.hibernate.loader.Loader.doList(Loader.java:2545)
      	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
      	at org.hibernate.loader.Loader.list(Loader.java:2271)
      	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:459)
      	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:365)
      	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
      	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
      	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
      	at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2292)
      	at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2239)
      	at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:588)
      	at com.xpn.xwiki.plugin.activitystream.impl.ActivityStreamImpl.searchEvents(ActivityStreamImpl.java:682)
      	... 138 more
      Caused by: java.sql.SQLSyntaxErrorException: expression not in aggregate or GROUP BY columns: ACTIVITYEV0_.ASE_EVENTID
      	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
      	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
      	at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
      	at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
      	at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
      	at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)
      	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
      	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
      	at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
      	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1700)
      	at org.hibernate.loader.Loader.doQuery(Loader.java:801)
      	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
      	at org.hibernate.loader.Loader.doList(Loader.java:2542)
      	... 149 more
      Caused by: org.hsqldb.HsqlException: expression not in aggregate or GROUP BY columns: ACTIVITYEV0_.ASE_EVENTID
      	at org.hsqldb.error.Error.error(Unknown Source)
      	at org.hsqldb.error.Error.error(Unknown Source)
      	at org.hsqldb.QuerySpecification.resolveGroups(Unknown Source)
      	at org.hsqldb.QuerySpecification.resolveTypesPartTwo(Unknown Source)
      	at org.hsqldb.QueryExpression.resolve(Unknown Source)
      	at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
      	at org.hsqldb.ParserCommand.compilePart(Unknown Source)
      	at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
      	at org.hsqldb.Session.compileStatement(Unknown Source)
      	at org.hsqldb.StatementManager.compile(Unknown Source)
      	at org.hsqldb.Session.execute(Unknown Source)
      	... 160 more
      

      With false, my code return this:

      <span class="wikilink"><a href="/xwiki/bin/view/XWiki/Admin">Administrator</a></span> - xwiki:XWiki.Admin
      <span class="wikilink"><a href="/xwiki/bin/view/XWiki/Admin">Administrator</a></span> - xwiki:XWiki.Admin
      

      then I think $MonEvent.getDisplayUser() have probably another problem (because I need to add

      {{html}} ... {{/html}}

      tag to display correct (interpreted) profil user link.

      Thanks.

      Pascal B

      Attachments

        Activity

          People

            surli Simon Urli
            Pbas Pascal BASTIEN
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: