如何在露天网页中添加子关联

时间:2016-07-20 15:29:27

标签: alfresco alfresco-webscripts content-model

我发现很难找到有用的文档。基本上我有两种自定义类型' Concept'和' ConceptScheme'在我的露天内容模型中定义。概念方案与许多儿童概念有关联。像这样:

        <type name="ancoat:conceptScheme">
            <title>Concept Scheme</title>
            <parent>ancoat:ddiObject</parent>
            <associations>
                <child-association name="ancoat:categories">
                   <source>
                       <mandatory>true</mandatory>
                       <many>false</many>
                   </source>
                   <target>
                       <class>ancoat:concept</class>
                       <mandatory>false</mandatory>
                       <many>true</many>
                   </target>
                   <duplicate>false</duplicate>
                   <propagateTimestamps>true</propagateTimestamps>
                </child-association>
            </associations>
            <mandatory-aspects>
                <aspect>ancoat:describedObject</aspect>
            </mandatory-aspects>
        </type>

我有两个webscript,一个用于创建概念节点,另一个用于概念方案。我现在想要创建一个webscript,它引用每个对象,并在它们之间创建一个关联。

我该怎么做?我找到了Node.createAssociation函数,但我找不到任何使用它的例子。

1 个答案:

答案 0 :(得分:1)

我会以java的方式回答你。

我们假设http://ancoat.com/model/content/1.0前缀的命名空间ancoat具有此关联:

public static final QName ANCOAT_CATEGORIES_ASSOC = QName.createQName("http://ancoat.com/model/content/1.0",
            categories);

然后,您可以使用节点服务将一个节点与其他节点关联:

getNodeService().setAssociations(pNode, ANCOAT_CATEGORIES_ASSOC, targets);

其中pNode是一个节点,targets是要与之关联的节点上的列表。

现在,通过子关联,可能是使用addChild方法的更好方法:

getNodeService().addChild(parentRefs, childRef, assocTypeQName, qname)