Erin Schnabel wrote:
I've seen a few of these, and it doesn't really have anything to do
with the $xwiki reference (though perhaps the code should be changed
to avoid that misleading message..). The original cause is an NPE
originating out of Collections.sort, which is called by XWiki.sort:
XWiki.sort:
public List sort(List list)
{
Collections.sort(list);
return list;
}
Collections.sort doesn't appear to check for null:
public static <T extends Comparable<? super T>> void sort(List<T>
list) {
Object[] a = list.toArray();
Arrays.sort(a);
Seems to me like your panel needs to make sure your list is non-null
(not empty) before calling xwiki.sort
Thanks for taking the time to answer me! I see the flaw that you
pointing out.
The recommended (from the velocity docs) way to check
for non-null && not empty:
#if( "$!allTags" != '')
#set( $allTagsSorted = $xwiki.sort($allTags))
#end
That should solve the problem.
I ended up doing something similar:
#set( $allTags = $xwiki.search($query))
#if ( $allTags.size() > 1)
...do stuff
#end
However, I'm absolutely positive that my list of tags isn't empty, so
this can't the ultimate cause of the problem. This was confirmed by
Sergiu Dumitriu; he recently updated the jira issue concerning the
inclusion of the above mentioned tag cloud in xwiki. Check it out:
http://jira.xwiki.org/jira/browse/XE-51
cheers :-)
Thomaas