<type name="my:biblio">
<title>Biblio</title>
<parent>sys:base</parent>
<archive>true</archive>
<associations>
<child-association name="my:contains">
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>sys:base</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
<duplicate>false</duplicate>
</child-association>
</associations>
</type>
<type name="my:auteur">
<title>Auteur</title>
<parent>my:biblio</parent>
<properties>
<property name="my:nom">
<type>d:text</type>
</property>
<property name="my:prenom">
<type>d:text</type>
</property>
</properties>
</type>
Quand j'essaie de créer mon noeud avec l'appel suivant :this.nodeService.createNode(biblio,
BibliothequeModel.CHILD_ASSOC_CONTAINS, QName.createQName("auteur"),
BibliothequeModel.TYPE_AUTEUR, props);
j'obtient l'erreur :Found 1 integrity violations:
The association source type is incorrect:
Association: Association[ class=ClassDef[name={my.new.model}biblio], name={my.new.model}contains, target class={http://www.alfresco.org/model/system/1.0}base, source role=null, target role=null]
Required Source Type: {my.new.model}biblio
Actual Source Type: {http://www.alfresco.org/model/content/1.0}folder
Est-ce que cela vient bien du problème précédent ?this.nodeService.createNode(biblio,
ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI , "auteur"),
BibliothequeModel.TYPE_AUTEUR, props);
Si ton noeud biblio est de type my:biblio, il y a effectivement un problème, mais ça voudrait dire qu'avant ce problème tu as déjà réussi à ajouter ta biblio dans un cm:folder, ce qui ne semble pas le cas vu ce que tu dis avant.
this.nodeService.createNode(biblio,
ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI , "auteur"),
BibliothequeModel.TYPE_AUTEUR, props);
mais après, mon noeud n'est pas reconnu comme étant un BibliothequeModel.TYPE_AUTEUR.//nodeRef est l'auteur créé précédemment
QName type2 = this.nodeService.getType(nodeRef);
// make sure the type is defined in the data dictionary
TypeDefinition typeDef = this.dictionaryService.getType(type2);
j'obtiens un NullPointerException sur type2.Found 1 integrity violations:
The association parent multiplicity has been violated:
Association: Association[ class=ClassDef[name={my.new.model}livre], name={my.new.model}auteurs, target class={my.new.model}auteur, source role=null, target role=null]
Required parent Multiplicity: 1..1
Actual parent Multiplicity: 2
Je mets pour rappel la définition de mon modèle : <types>
<type name="my:livre">
<title>Livre</title>
<parent>cm:content</parent>
<properties>
<property name="my:titre">
<type>d:text</type>
</property>
<property name="my:categorie">
<type>d:category</type>
</property>
</properties>
<associations>
<child-association name="my:auteurs">
<target>
<class>my:auteur</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</child-association>
</associations>
</type>
<type name="my:auteur">
<title>Auteur</title>
<parent>sys:base</parent>
<properties>
<property name="my:nom">
<type>d:text</type>
<constraints>
<constraint type="LENGTH">
<parameter name="minLength"><value>0</value></parameter>
<parameter name="maxLength"><value>10</value></parameter>
</constraint>
</constraints>
</property>
<property name="my:prenom">
<type>d:text</type>
<constraints>
<constraint type="LENGTH">
<parameter name="minLength"><value>5</value></parameter>
<parameter name="maxLength"><value>10</value></parameter>
</constraint>
</constraints>
</property>
</properties>
</type>
</types>
Comment est-ce que je peux pallier à ce problème ? Est-ce que ça vient de la définition du modèle ?
<type name="my:livre">
<title>Livre</title>
<parent>cm:content</parent>
<properties>
<property name="my:titre">
<type>d:text</type>
</property>
<property name="my:categorie">
<type>d:category</type>
</property>
</properties>
<associations>
<child-association name="my:auteurs">
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>my:auteur</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</child-association>
</associations>
</type>
public String getAsString(FacesContext context, UIComponent component, Object value)
throws ConverterException
public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException
Cependant, l'affichage ne change pas et je n'ai aucune exception.J'ai déclaré mon converter dans le modèle, au niveau de la child-association my:auteurs.Si je ne m'abuse, l'utilisation des converters se fait via les fichiers de configuration du client Web (http://wiki.alfresco.com/wiki/Displaying_Custom_Metadata#Converters). Pourriez-vous nous montrer la configuration que vous avez mise en place ?
Content from pre 2016 and from language groups that have been closed.
Content is read-only.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.