[opencms-dev] Order of the files in the Workplace
maria.freixes_graells at alcatel.es
maria.freixes_graells at alcatel.es
Wed Sep 13 14:27:39 CEST 2006
Hello Federico,
You've sent to me this information a few days ago, thanks again for it.
I would like to ask you some questions about, because I don't know how
to implement this. First, I don't have the package
org.opencms.file.CmsResource, where and how I must create it?
Thanks very much,
Maria
Federico Larumbe escribió:
> Hello Maria.
>
> I developed a quick solution for the issue we had here. We needed to order
> files by "Last Modified Time".
>
> To do this, I have added a Resources comparator first:
>
> --------------------- org.opencms.file.CmsResource ----------------------
> /**
> * A comparator for 2 resources. First the folders, alphabetically by
> name ignoring case differences. Then, files by dateLastModified.
> * If two files have the same dateLastModified, compare by name.<p>
> */
> public static final Comparator
> COMPARE_DATE_MODIFIED_FOLDERS_FIRST_ALPHABETICALLY = new Comparator() {
>
> /**
> * @see java.util.Comparator#compare(java.lang.Object,
> java.lang.Object)
> */
> public int compare(Object o1, Object o2) {
>
> if ((o1 == o2) || !(o1 instanceof CmsResource) || !(o2
> instanceof CmsResource)) {
> return 0;
> }
>
> CmsResource r1 = (CmsResource)o1;
> CmsResource r2 = (CmsResource)o2;
>
> if (r1.isFolder() && !r2.isFolder()) {
> return -1;
> } else if (r2.isFolder() && !r1.isFolder()) {
> return 1;
> }
> if(r1.isFolder() && r2.isFolder()) {
> // if they are folders, compare the name of the resource
> return
> r1.getRootPath().compareToIgnoreCase(r2.getRootPath());
> }
> else {
> long date1 = r1.getDateLastModified();
> long date2 = r2.getDateLastModified();
>
> return (date1 < date2) ? -1 :
> (date1 > date2) ? 1 :
>
> r1.getRootPath().compareToIgnoreCase(r2.getRootPath());
> }
> }
> };
> ------------------------------------------------------------------------
>
>
> Then I change VFS Driver to use this Comparator to sort files:
>
> ------------------------------------------------------------------------
> org.opencms.db.generic.CmsVfsDriver. Method readChildResources(...).
> I replaced line previous to "return result;" to:
> ------------------------------------------------------------------------
> Collections.sort(result,
> CmsResource.COMPARE_DATE_MODIFIED_FOLDERS_FIRST_ALPHABETICALLY);
>
>
> Regards,
> Federico.
>
> ------------------------------------------------------------------------
> -----Original Message-----
> From: opencms-dev-bounces at opencms.org
> [mailto:opencms-dev-bounces at opencms.org] On Behalf Of
> maria.freixes_graells at alcatel.es
> Sent: Wednesday, August 16, 2006 7:45 AM
> To: The OpenCms mailing list
> Subject: Re: [opencms-dev] Order of the files in the Workplace
>
> Hello everybody!!
>
> Has anyone implemented in their workplace the feature of sorting the
> files and folders in the workplace clicking to the titles?
> Something similar will be very usefully for me.
> Thanks in advance and have a nice day!!
>
> Maria
>
> maria.freixes_graells at alcatel.es wrote:
>
>> Hello people!!
>>
>> One question:
>>
>> In the workplace, the files are listed in alphabetical order, is there
>> anyway to fix another order?
>>
>> Thanks!!
>>
>> _______________________________________________
>> This mail is sent to you from the opencms-dev mailing list
>> To change your list options, or to unsubscribe from the list, please
>> visit
>> http://lists.opencms.org/mailman/listinfo/opencms-dev
>>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev
>
>
>
More information about the opencms-dev
mailing list