2011-08-23 62 views
0

我有一个定义的内容模型,里面有一个LIST类型的约束值。约束:07230001该值不是允许的值

我有一个页面包含r:与“位置”类型的节点关联的propertySheet,并且该类型具有引用约束LIST的属性。

该页面的呈现是正确的,但是一旦我从NodeService执行代码setProperties,我有以下错误。 操作过程中发生系统错误:07230003发现1个完整性违规:无效的属性值:Node:workspace:// SpacesStore/4c7464b2-2c1b-4346-b3f4-215a3818ac9c类型:{www.ds.alfresco.security.extension.com }位置属性:{} www.ds.alfresco.security.extension.com约束权限:07230002值是不是允许值:[读取SADER,写SADER,READ WARED]

在哪里我的代码是:

  if(currentPosition != null && currentPosition.getNodeRef() != null){ 
       Map<String,Object> properties = currentPosition.getProperties(); 
       ArrayList<String> permissions = (ArrayList<String>)properties.get(Constants.SecurityModelQNames.PROP_SEC_POSITION_POSITION_PERMISSIONS); 
       Map<QName,Serializable> qnameSerializableProperties = NodeUtil.prepareQnameSerializableList(properties); 
       for(Map.Entry<QName, Serializable> entry : qnameSerializableProperties.entrySet()){ 
        System.out.println(entry.getKey()+","+entry.getValue()); 
       } 
       getNodeService().setProperties(currentPosition.getNodeRef(), qnameSerializableProperties); 
      } 

我该如何让这段代码可执行?

+0

您确定您的约束条件有效吗?我的意思是你说它渲染得很好,但你可以创建一个内容并通过UI编辑属性? –

+0

好的,谢谢塔希尔我的问题已经解决,因为返回类型是列表 –

+0

@MohammedAmr请回答你自己的问题然后,所以它看起来像回答。 – Florian

回答

0

简单地说,我从页面读取值并填充到列表中,然后再将此列表设置为节点的属性。