2015-10-16 43 views
0

我能够创建具有以下新的集合:AEM Java - 创建集合 - 如何创建吊索:成员?

Resource resource = resourceResolver.resolve(DEFAULT_BASE_JCR_PATH+"/m/mKS6YofYC4-opD0lu2gc"); 

ResourceCollectionManager managerCollection = resourceResolver.adaptTo(ResourceCollectionManager.class); 
ResourceCollection collection = managerCollection.createCollection(resource, collectionName); 

什么是创造了吊带的最佳方式:会员和增加资源?

回答

0

我能想出解决办法: 输入(collectionMember)是从一个文本区域:

/content/dam/geometrixx-outdoors/brand/brand_1_c02.jpg,/content/dam/geometrixx - 户外/品牌/ brand_3a_ambassdors_c03.png, /content/dam/geometrixx-outdoors/brand/brand_3b_1_c05.jpg

Resource resourcesResource = resourceResolver.resolve(DEFAULT_BASE_JCR_PATH+"/"+session.getUserID()+"/"+collectionName+"/sling:members"); 
String[] resources = collectionMember.split(","); 

     for (String img : resources) { 
      String imgName = img.substring(img.lastIndexOf("/") + 1, img.length()); 
      Node nodeMember = resourcesResource.adaptTo(Node.class);; 
      Node mem = nodeMember.addNode(imgName, "nt:unstructured"); 
      setBasicProp(mem); 
      mem.setProperty("sling:resource", img); 
     } 


outside of method..... 
private void setBasicProp(Node node) throws Exception { 
      Calendar lastModified = Calendar.getInstance(); 
      String user = node.getSession().getUserID(); 

      node.setProperty("jcr:createdBy", user); 
      node.setProperty("jcr:lastModifiedBy", user); 
      node.setProperty("jcr:lastModified", lastModified); 
      node.setProperty("jcr:created", lastModified); 
      node.setProperty("jcr:description", node.getName()); 
}