cancel
Showing results for 
Search instead for 
Did you mean: 

CMIS - Relationship e Associations

emmanuelemario_
Champ in-the-making
Champ in-the-making
Ciao,

sto cercando di creare due oggetti a cui sn associati due Model differenti per poi metterli in relazione con un oggetto relationship.
nel model dell'oggetto source creo un associazione che punta al model dell'oggetto target:

   </properties>
….
….
   <associations>
            <association name="fcl:assoc">
                <source>
                 <mandatory>false</mandatory>
                   <many>true</many>
                </source>
               <target>
                  <class>Z0000001:docProtocollo</class>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </target>
            </association> 
   </associations>
…..
….
</type>          
</types>

mediante cmis lego i due oggetti tramite il seguente pezzo di codice:

newFileProps = new HashMap<String, String>();
newFileProps.put(PropertyIds.OBJECT_TYPE_ID, "fcl:fascicolo");
newFileProps.put(PropertyIds.NAME, "ADGFileSource");

Document sourceDoc = folderAssociations.createDocument(newFileProps, null, VersioningState.MAJOR);

newFileProps.put(PropertyIds.OBJECT_TYPE_ID, "Z0000001:docProtocollo");
newFileProps.put(PropertyIds.NAME, "ADGFileTarget");
Document targetDoc = folderAssociations.createDocument(newFileProps, null, VersioningState.MAJOR);

// Creating relationship object
Map<String, String> relProps = new HashMap<String, String>();
relProps.put("cmis:sourceId", sourceDoc.getId());
relProps.put("cmis:targetId", targetDoc.getId());
relProps.put("cmisSmiley SurprisedbjectTypeId", "R:fcl:assoc");

facendo in questo modo un problema legato ad alfresco, ovvero non riesco a caricare il nuovo file di model quando inserisco l'associazione, Alfresco mi restituisce un errore.

ci sta mica qualche buona anima che può darmi una mano?
grazie

Manu
3 REPLIES 3

emmanuelemario_
Champ in-the-making
Champ in-the-making
<associations>
            <association name="fcl:assoc">
                <source>
                 <mandatory>false</mandatory>
                   <many>true</many>
                </source>
               <target>
                  <class>Z0000001:docProtocollo</class>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </target>
            </association> 
      </associations>

emmanuelemario_
Champ in-the-making
Champ in-the-making
quel problema l'ho risolto, non importavo l'uri dell'altro xml.

piuttosto ora ho un problema di cmis, in quanto mi viene sollevata questa eccezione quando provo a creare la relazione:

"org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException: Source object type isn't allowed as source type"

cosa potrebbe essere? non riesco a capire.
grazie

Ciao,

se sicuro che il tipo dell'oggetto sorgente sia lo stesso tipo sul quale hai definito l'associazione (o al massimo sia una sua sottoclasse)?