2015-12-19 23 views
1

我试图更改所有文档(cm:name)和documentTypeName(它工作正常)的名称,但是当我尝试更改cm:name时,它会引发重复节点名异常。所有这些都是为了在户外制定规则。对不起,我的英语Alfresco复制节点名称异常

var documentText = null; 
    var query = "@pa\\:documentTypeId:" + document.properties["paList:id"]; 
    var extenson= null; 
    var resultSet = search.luceneSearch(query); 
    documentText = resultSet[0].properties['pa:documentType']; 

    if(resultSet.length>0){ 
     query = "@pa\\:documentTypeId:" + document.properties["paList:id"] + " AND " + "@pa\\:documentType:" + documentText; 
     response = search.luceneSearch(query); 
     for(i=0;i<resultSet.length;i++){ 
      extension = (resultSet[i].properties['cm:name'].substring(resultSet[i].properties['cm:name'].lastIndexOf("."))); 

      response[i].properties['cm:name'] = response[i].properties['pa:documentType'] + extension; 

      response[i].properties['pa:documentType'] = document.properties["paList:description"]; 
      response[i].save(); 
     } 
    } 
+1

你能写出正确的例外名称吗?只是为了确定我们了解什么是例外情况。 –

+0

你的代码中有些东西很难理解。您执行第一次lucene搜索并设置变量“resultSet”。如果您发现多个结果,则执行另一个具有附加约束的lucene搜索,并将结果存储在变量“response”中。然后循环使用resultSet,但使用相同的索引“i”来访问“resultSet”和“响应”。 “响应”不可能包含比resultSet更少的结果吗? –

+0

嗨,马可感谢您的回复,所以异常的确切名称是:.DuplicateChildNodeNameException:重复的子名称不允许。 –

回答

0
response[i].properties['cm:name'] = response[i].properties['pa:documentType'] + extension; 

看起来要重命名的节点,所以它们开始与文档类型,然后将文件扩展名。

所以,如果你有在同一文件夹与具有相同的PA filea.doc和fileb.doc:documentType(可以说worddoc),他们就都被称为worddoc.doc 这会给你一个DuplicateChildNodeNameException,因为2个相同名称的文件是不可能的。