Hacer que el contenido principal de nodo padre del nodo

user11044402:

Trato de usar el aire libre NodeServicepara hacer un nodo de contenido (QName cm:content) la matriz primaria de otro nodo de contenido. NodeServiceproporciona un método

public ChildAssociationRef moveNode(
        NodeRef nodeToMoveRef,
        NodeRef newParentRef,
        QName assocTypeQName,
        QName assocQName)
        throws InvalidNodeRefException;

Digamos que el padre primario actual del nodo theNodeToMovees una carpeta y la referencia primaria Assoc padre del nodo en la carpeta es primaryAssocRef. Vamos a theTargetContentNodeser el blanco de contenido nodo.

Llamando al mensaje anterior como esto

nodeService.moveNode(theNodeToMove,
                     theTargetContentNode,
                     primaryAssocRef.getTypeQName(),
                     primaryAssocRef.getQName());

fracasa. Alfresco reporst una violación de integridad :

The association source type is incorrect:
   Source Node: workspace://SpacesStore/27a97736-222c-4bac-8610-f15ce312b074 
   Association: Association[ class=ClassDef[name={http://www.alfresco.org/model/content/1.0}folder], name={http://www.alfresco.org/model/content/1.0}contains, target class={http://www.alfresco.org/model/system/1.0}base, source role=null, target role=null]
   Required Source Type: {http://www.alfresco.org/model/content/1.0}folder
   Actual Source Type: {http://www.alfresco.org/model/content/1.0}content

¿Es incluso posible hacer un contenido de nodo de la matriz primaria de una existente nodo de contenido?

Lista :

Si y no. Sí porque el nodo de contenido puede tener hijos, y no porque no se puede utilizar el "contiene" asociación.

Básicamente, cuando se crea una relación "padre-hijo", es necesario afirmar que su tipo de la asociación. Usted puede tener muchos de estos, por ejemplo, rm:renditiones uno de estos tipos.

El tipo de asociación "principal" que se utiliza cuando se crea un documento en una carpeta es cm:contains, y está configurado de una manera que no permite que los nodos de contenido para tener hijos. Esto se hace a través del modelo de definición, y se ve algo como esto:

<type name="cm:folder">
     <title>Folder</title>
     <parent>cm:cmobject</parent>
     <archive>true</archive>
     <associations>
        <child-association name="cm:contains">
           <source>
              <mandatory>false</mandatory>
              <many>true</many>
           </source>
           <target>
              <class>sys:base</class>
              <mandatory>false</mandatory>
              <many>true</many>
           </target>
           <duplicate>false</duplicate>
           <propagateTimestamps>true</propagateTimestamps>
        </child-association>
     </associations>
</type>

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=337259&siteId=1
Recomendado
Clasificación