约束:07230001该值不是允许值

时间:2011-08-23 08:30:04

标签: alfresco

我定义了一个内容模型,在其中我有一个LIST类型的约束值。

我有一个页面包含与“Position”类型的节点关联的r:propertySheet,该类型具有属性,请参阅约束LIST。

页面的渲染是正确的,但是一旦我从NodeService执行setProperties的代码,我有以下错误。 操作期间发生系统错误:07230003发现1个完整性违规:无效的属性值:节点:workspace:// SpacesStore / 4c7464b2-2c1b-4346-b3f4-215a3818ac9c类型:{www.ds.alfresco.security.extension.com} position属性:{www.ds.alfresco.security.extension.com}权限约束:07230002该值不是允许值:[READ SADER,WRITE 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);
            }

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

1 个答案:

答案 0 :(得分:0)

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