hello,
I have several spaces starting with a special charakter ÖGroup etc.
xwiki search doesn't find any attachements that are attached to groups
starting with Ö
when I try to search attachements limiting the search to ÖGroup I get the
following error:
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate
Velocity Macro for content
[$xwiki.jsfx.use("uicomponents/search/search.js", false)##
$xwiki.ssfx.use("uicomponents/search/search.css", true)##
## Disable the document extra data: comments, attachments, history...
#set($docextras = [])
#set ($rssmode = ("$!request.xpage" == 'plain'))
## ---------------
## Space filtering
## ---------------
#set($spaces = $xwiki.spaces)
#set($selectedSpace = "$!request.space")
## ---------------
## Space macros
## ---------------
#macro(spaceoption $space $selectedSpace)
<option value="${space}" #if($selectedSpace ==
$space)selected="selected"#end>$space</option>
#end
#macro(spaceselect $selectedSpace $spaces)
<select name="space"
title="$msg.get('xe.search.bar.spaces.title')">
<option value="" #if($selectedSpace ==
'')selected="selected"#end>$msg.get('xe.search.bar.spaces.all')</option>
#foreach($space in $spaces)
#if (!$blacklistedSpaces.contains($space))
#spaceoption($space $selectedSpace)
#end
#end
</select>
#end
##
##
#set($text = "$!request.getParameter('text')")
#set($utext = $util.encodeURI($text))
##
{{html}}
<form action="" id="searchBar">
<div class="centered">
<input type="text" name="text" class="searchQuery
#if($text ==
'') defaultText#end" #if($text == '')
value="$msg.get('xe.search.bar.query.tip')" #else
value="$xwiki.getXMLEncoded(${text})" #end
title="$msg.get('xe.search.bar.query.title')"/>
#spaceselect($selectedSpace $spaces)
<input type="submit" class="searchButton"
value="$msg.get('xe.search.bar.submit')"
title="$msg.get('xe.search.bar.submit.title')"/>
</div>
</form>
{{/html}}
##
#set($space = $selectedSpace)
#set($datedlist = $util.arrayList)
#if("$!text" == '')
## No search
#else
#set($text = $text.replaceAll("'",
"''").replaceAll("%", "\\%"))
#set($nbitems = 50)
## ----------------------------------------------------------------------
## Exclude Blacklisted spaces ($blacklistedSpaces is set in xwikivars.vm)
## Also exclude WebPreferences.
## ----------------------------------------------------------------------
#set ($webClause = '')
#foreach ($blacklistedSpace in $blacklistedSpaces)
#set ($webClause = "${webClause} doc.space <> '$blacklistedSpace'
and")
#end
#if(!$hasAdmin && !$isAdvancedUser)
#set ($webClause = "${webClause} doc.name<>'WebPreferences'
and")
#end
## -----------------------------------------------------------
## Display only a given space if $request.space is defined
## -----------------------------------------------------------
#if("$!space" != '')
#set ($webClause = "${webClause} doc.space='$space' and")
#end
#macro(addelement $item $list)
#if($xwiki.hasAccessLevel('view', $context.user,
"${context.database}:${item}"))
#set($itemdoc = $xwiki.getDocument($item))
## All items will be sorted by the date; since the list is
obtained from several queries, we can't order in the HQL.
## Prefix all item names with the date for sorting the combined results.
#set($sdate = $xwiki.formatDate($itemdoc.date, 'yyyyMMddHHmmss'))
#set($sitem = "${sdate}${item}")
#if(!$list.contains($sitem))
#set($discard = $list.add($sitem))
#end
#end
#end
## -----------------------------------------------------------
## Search in the page names
## -----------------------------------------------------------
#set ($sql = "where $webClause upper(doc.fullName) like
upper('%$!text%') order by doc.date desc")
#foreach ($item in $xwiki.searchDocuments($sql , $nbitems, 0))
#addelement($item $datedlist)
#end
## -----------------------------------------------------------
## Search in page content
## -----------------------------------------------------------
#set ($sql = "where $webClause upper(doc.content) like
upper('%$!text%') order by doc.date desc")
#foreach ($item in $xwiki.searchDocuments($sql , $nbitems, 0))
#addelement($item $datedlist)
#end
## -----------------------------------------------------------
## Search in text fields (simple String properties)
## -----------------------------------------------------------
#set($sql= ", BaseObject as obj, StringProperty as prop where
$webClause obj.name=doc.fullName and prop.id.id = obj.id and
upper(prop.value) like upper('%$!text%')")
#foreach ($item in $xwiki.searchDocuments($sql , $nbitems, 0))
#addelement($item $datedlist)
#end
## -----------------------------------------------------------
## Search in big text fields (textarea properties)
## -----------------------------------------------------------
#set($sql= ", BaseObject as obj, LargeStringProperty as prop where
$webClause obj.name=doc.fullName and prop.id.id = obj.id and
upper(prop.value) like upper('%$!text%')")
#foreach ($item in $xwiki.searchDocuments($sql , $nbitems, 0))
#addelement($item $datedlist)
#end
#end
#set($list = $util.arrayList)
#foreach($item in $util.sort($datedlist))
## datedlist contains items prefixed with the date; strip the date
from the actual item name:
#set($ok = $list.add(0, $item.substring(14)))
#end
#if ("$!utext" != '')
#if($rssmode)
#set ($feed = $xwiki.feed.getDocumentFeed($list, $util.getHashMap()))
#set ($feedURI = $doc.getExternalURL("view"))
#set ($discard = $feed.setLink($feedURI))
#set ($discard = $feed.setUri($feedURI))
#set ($discard = $feed.setAuthor('XWiki'))
#set ($discard = $feed.setTitle($msg.get('xe.search.rss', [$text])))
#set ($discard = $feed.setDescription($msg.get('xe.search.rss', [$text])))
#set ($discard = $feed.setLanguage($context.language))
#set ($discard = $feed.setCopyright($xwiki.getXWikiPreference('copyright')))
$xwiki.feed.getFeedOutput($feed,
$xwiki.getXWikiPreference('feed_type', 'rss_2.0'))
#else
{{include document="XWiki.Results"/}}
#if($selectedSpace == '')
#set($rssURL = $xwiki.getURL($doc.fullName, 'view',
"xpage=plain&outputSyntax=plain&text=${utext}" ))
#else
#set($rssURL = $xwiki.getURL($doc.fullName, 'view',
"xpage=plain&outputSyntax=plain&space=${selectedSpace}&text=${utext}"))
#end
{{html}}
<a href="${rssURL}"><img
src="$xwiki.getSkinFile("icons/silk/feed.gif")" alt="RSS
icon"/>$msg.get("xe.search.rss", ["[$text]"])</a>
{{/html}}
#set($luceneSearch = "[[Main.LuceneSearch?text=$!utext]]")
{{info}}$msg.get('xe.search.lucene.try', [$luceneSearch]){{/info}}
#end
#end
{{velocity}}]
at
org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityMacro.java:118)
at
org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityMacro.java:43)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to
evaluate content with id [velocity macro]
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:200)
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:156)
at
org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityMacro.java:110)
... 93 more
Caused by: org.apache.velocity.exception.MethodInvocationException:
Invocation of method 'searchDocuments' in class
com.xpn.xwiki.api.XWiki threw exception com.xpn.xwiki.XWikiException:
Error number 3223 in 3: Exception while searching documents with SQL
[select distinct doc.space, doc.name, doc.date from XWikiDocument as
doc where (doc.hidden <> true or doc.hidden is null) and
doc.space='ÖWM Logo' and upper(doc.fullName) like
upper('%manual.pdf%') order by doc.date desc]
Wrapped Exception: could not execute query at velocity macro[line 82, column 27]
at
org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)
... 95 more
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3:
Exception while searching documents with SQL [select distinct
doc.space, doc.name, doc.date from XWikiDocument as doc where
(doc.hidden <> true or doc.hidden is null) and doc.space='ÖWM Logo'
and upper(doc.fullName) like upper('%manual.pdf%') order by doc.date
desc]
Wrapped Exception: could not execute query
at
com.xpn.xwiki.store.XWikiHibernateStore.searchDocumentsNamesInternal(XWikiHibernateStore.java:2306)
I tried to delete those spaces using the following macro:
{{velocity}}
#if ($request.space)
#if ($request.confirm == "1")
#foreach ($item in $xwiki.getSpaceDocsName($request.space))
* Deleting $item
$xwiki.getDocument("${request.space}.${item}").delete()\\
#end
#else
[[Confirm delete space
${request.space}>>$doc.fullName?space=${request.space}&confirm=1]]:
#foreach ($item in $xwiki.getSpaceDocsName($request.space))
* $item
#end
#end
#else
|=Space |=Action
#foreach($space in $xwiki.spaces)
|$space | [[Index>>Main.SpaceIndex?space=${space}]] -
[[Delete>>$doc.fullName?space=${space}]]
#end
#end
{{/velocity}}
--------------------
again the same problem caused by the special charakter:
---->
Failed to execute macro: velocity
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate
Velocity Macro for content [#if ($request.space)
#if ($request.confirm == "1")
#foreach ($item in $xwiki.getSpaceDocsName($request.space))
* Deleting $item
$xwiki.getDocument("${request.space}.${item}").delete()\\
#end
#else
[[Confirm delete space
${request.space}>>$doc.fullName?space=${request.space}&confirm=1]]:
#foreach ($item in $xwiki.getSpaceDocsName($request.space))
* $item
#end
#end
#else
|=Space |=Action
#foreach($space in $xwiki.spaces)
|$space | [[Index>>Main.SpaceIndex?space=${space}]] -
[[Delete>>$doc.fullName?space=${space}]]
#end
#end]
at
org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityMacro.java:118)
at
org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityMacro.java:43)
at
org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:200)
at
org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:52)
at
org.xwiki.rendering.internal.transformation.MacroTransformation.transformOnce(MacroTransformation.java:175)
at
org.xwiki.rendering.internal.transformation.MacroTransformation.transform(MacroTransformation.java:120)
at
org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:72)
at com.xpn.xwiki.doc.XWikiDocument.performSyntaxConversion(XWikiDocument.java:5586)
at com.xpn.xwiki.doc.XWikiDocument.performSyntaxConversion(XWikiDocument.java:5561)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:557)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:571)
at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:475)
at sun.reflect.GeneratedMethodAccessor324.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:493)
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:336)
at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:191)
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:156)
at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:108)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1703)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1624)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:657)
at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:332)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at
org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:212)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:247)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
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:336)
at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:191)
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:156)
at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:108)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1703)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1624)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:124)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:224)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:115)
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.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
com.xpn.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:152)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:119)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:68)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
com.xpn.xwiki.web.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:295)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to
evaluate content with id [velocity macro]
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:200)
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:156)
at
org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityMacro.java:110)
... 93 more
Caused by: org.apache.velocity.exception.MethodInvocationException:
Invocation of method 'getSpaceDocsName' in class
com.xpn.xwiki.api.XWiki threw exception com.xpn.xwiki.XWikiException:
Error number 0 in 0: Exception while execute query. Query statement =
[getSpaceDocsName]
Wrapped Exception: Exception while execute query. Query statement =
[getSpaceDocsName] at velocity macro[line 8, column 27]
at
org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:493)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:282)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
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:336)
at
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:191)
... 95 more
Caused by: com.xpn.xwiki.XWikiException: Error number 0 in 0:
Exception while execute query. Query statement = [getSpaceDocsName]
Wrapped Exception: Exception while execute query. Query statement =
[getSpaceDocsName]
at com.xpn.xwiki.XWiki.getSpaceDocsName(XWiki.java:5734)
at com.xpn.xwiki.api.XWiki.getSpaceDocsName(XWiki.java:1515)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
... 106 more