Wednesday 30 September 2015

How to get the dataList Items in alfresco using java

public NodeRef getDataListItem(NodeRef actionedUponNodeRef) {
NodeRef vendorItem = null;
String siteShortName = siteService.getSiteShortName(actionedUponNodeRef);
String targetedDataListName = "Vendor";
NodeRef dataListContainer = SiteServiceImpl.getSiteContainer(siteShortName, DATALIST_CONTAINER_ID, true,
siteService, transactionService, taggingService);
List<ChildAssociationRef> dataListsNodes = nodeService.getChildAssocs(dataListContainer);

for (ChildAssociationRef dataList : dataListsNodes) {
if (dataList.getTypeQName().isMatch(ContentModel.ASSOC_CONTAINS)) {
if (nodeService.getProperty(dataList.getChildRef(), ContentModel.PROP_TITLE) != null && nodeService.getProperty(dataList.getChildRef(), ContentModel.PROP_TITLE).toString().equals(targetedDataListName)) {
List<ChildAssociationRef> itemsNodes = nodeService.getChildAssocs(dataList.getChildRef(), ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
   for (ChildAssociationRef item : itemsNodes) {
    System.out.println("ads:" + item.getQName());
    vendorItem = item.getChildRef();
   }
}
}
}
//System.out.println("The dataLists" + dataListNodeRef.);
return vendorItem;
}

1 comment: