Hi, I`ve recently published a snippet [1] that provides a macro for sorting lists of XWiki objects in velocity.
As for platform, we should probably either include such a macro in macros.vm, or extend SortTool and expose a method for handling XWiki objects. Hope this helps, Eduard ---------- [1] http://extensions.xwiki.org/xwiki/bin/view/Extension/Sort+a+list+of+XWiki+objects On Fri, Nov 16, 2012 at 7:40 AM, crocket <[email protected]> wrote: > OK, $obj.getProperty("prop").getValue() gets the desired values. > > $sorttool.sort conforms only to java bean standards. > > I'll implement something like > $sorttool.*sort< > http://velocity.apache.org/tools/releases/1.4/javadoc/org/apache/velocity/tools/generic/SortTool.html#sort(java.util.Collection > , > java.util.List)>*(java.util.Collection collection, > java.util.List properties) that conforms to XWiki Object standards. > > > On Fri, Nov 16, 2012 at 3:06 AM, Jerome Velociter <[email protected] > >wrote: > > > Hi, > > > > > > On 11/15/2012 03:00 PM, crocket wrote: > > > >> Ouch, there is a typo. $xwiki -> $doc > >> > >> #set($services=$xwiki.**getDocument("Private.Snowberry Network > >> Services").getObjects("**Private.NetworkServices")) > >> > >> #foreach($prop in $services[0].getProperties()) > >> $services[0].getProperty($**prop.getName()).getName() = > >> $services[0].getProperty($**prop.getName()).getProperty().** > >> getClassType() > >> #end > >> > >> The velocity snippet above produced an output. > >> > >> port = com.xpn.xwiki.objects.**LongProperty > >> protocol = com.xpn.xwiki.objects.**StringListProperty > >> application = com.xpn.xwiki.objects.**StringProperty > >> description = com.xpn.xwiki.objects.**StringProperty > >> service = com.xpn.xwiki.objects.**StringProperty > >> firewalled = com.xpn.xwiki.objects.**IntegerProperty > >> > >> It appears that objects returned from $doc.getObjects("Class") have > >> properties that belong to com.xpn.xwiki.objects package. > >> I perused the package on > >> http://maven.xwiki.org/site/**docs/xwiki-javadoc-4.2.x/com/** > >> xpn/xwiki/objects/package-**summary.html< > http://maven.xwiki.org/site/docs/xwiki-javadoc-4.2.x/com/xpn/xwiki/objects/package-summary.html > > > >> > >> I guess I will have to implement a Comparator that compares each of the > >> following properties in the com.xpn.xwiki.objects package. > >> > >> BaseStringProperty > >> DateProperty > >> DoubleProperty > >> FloatProperty > >> IntegerProperty > >> LongProperty > >> NumberProperty > >> > >> Am I doing it right? or is it a bad idea to make separate comparison > codes > >> for each of those properties? > >> > > > > You might be interested by http://velocity.apache.org/** > > tools/devel/javadoc/org/**apache/velocity/tools/generic/**SortTool.html< > http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/SortTool.html > > > > > > Hope this helps, > > Jerome > > > > > >> On Thu, Nov 15, 2012 at 9:57 PM, crocket <[email protected]> > wrote: > >> > >> I want to make such a Comparator so that I can sort objects retrieved > by > >>> $xwiki.getObjects("Class") > >>> If I had the Comparator, I'd be able to pass it to a collection sort > >>> method and sort objects. > >>> > >>> I'm planning to make that Comparator in a groovy snippet. > >>> I may be able to make a Component for that even. > >>> > >>> Is it possible? > >>> > >>> If it was possible, would you give me some hints? > >>> > >>> ______________________________**_________________ > >> devs mailing list > >> [email protected] > >> http://lists.xwiki.org/**mailman/listinfo/devs< > http://lists.xwiki.org/mailman/listinfo/devs> > >> > > > > ______________________________**_________________ > > devs mailing list > > [email protected] > > http://lists.xwiki.org/**mailman/listinfo/devs< > http://lists.xwiki.org/mailman/listinfo/devs> > > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

