Removed all references to Site from publishing REST API. Replaced publishing-events-query.post with publishing-events-for-node.get.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29301 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
N Smith
2011-07-25 09:30:08 +00:00
parent 0ec0b0939e
commit a6d7fef35a
8 changed files with 153 additions and 27 deletions

View File

@@ -19,9 +19,16 @@
package org.alfresco.repo.node;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.repository.AssociationRef;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -130,4 +137,38 @@ public abstract class NodeUtils
}
return null;
}
public List<NodeRef> sortByCreationDate(NodeService nodeService,Collection<NodeRef> nodes)
{
ArrayList<NodeRef> sorted = new ArrayList<NodeRef>(nodes);
Collections.sort(sorted, getNodeCreationDateComparator(nodeService));
return sorted;
}
public Comparator<NodeRef> getNodeCreationDateComparator(final NodeService nodeService)
{
return new Comparator<NodeRef>()
{
private Map<NodeRef, Long> dates = new HashMap<NodeRef, Long>();
public int compare(NodeRef o1, NodeRef o2)
{
long date1 = getDate(o1);
long date2 = getDate(o1);
return (int)(date1 - date2);
}
private long getDate(NodeRef node)
{
Long date = dates.get(node);
if(date == null)
{
Date dateObj = (Date) nodeService.getProperty(node, ContentModel.PROP_CREATED);
date = dateObj == null ? -1 : dateObj.getTime();
dates.put(node, date);
}
return date;
}
};
}
}