Effectuez les étapes répertoriées ici pour éviter qu'une propriété étendue dont le type de données est boolean ou integer ne soit pas mise à jour lorsqu'elle est associée à la valeur par défaut.
Si vous tentez d'associer une propriété étendue dont le type de données est une valeur unique boolean ou integer à sa valeur par défaut, la propriété n'est pas mise à jour. Par exemple, si vous tentez d'associer un type de données integer à valeur unique à une valeur autre que 0, qui est la valeur par défaut, la mise à jour aboutit. En revanche, si vous tentez de l'associer à sa valeur par défaut, qui est 0, la propriété n'est pas mise à jour. De même, si vous tentez d'associer une propriété étendue dont le type de données est boolean à la valeur true, la mise à jour aboutit. En revanche, si vous tentez de l'associer à sa valeur par défaut, qui est false, la propriété n'est pas mise à jour.
Ce problème survient uniquement lorsque la propriété étendue est une propriété à valeur unique. Il s'agit d'une limitation EMF.
Effectuez les opérations ci-dessous pour contourner le problème.
Pour des détails, voir Exemple de code pour l'extension du schéma dans le référentiel de fichiers, Exemple de code pour l'extension du schéma dans le référentiel d'extension de propriété et Exemple de code pour l'extension du schéma dans un référentiel LDAP.
Vous pouvez aussi utiliser la commande addIdMgrPropertyToEntityTypes wsadmin pour créer une propriété étendue à plusieurs valeurs dont le type de données est boolean ou integer et qui est associée à la valeur true.
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, SchemaConstants.DO_PERSON_ACCOUNT);
// Définition des propriétés de la personne
entity.set("uid", uid);
entity.set("cn", cn);
entity.set("sn", sn);
// Création d'une liste de tableau dont la taille est un
List lst = new ArrayList();
lst.add(0);
entity.set("jersyNumber", lst );
System.out.println("Input datagraph before creating user"+ printDO(root));
// Création de l'entité PersonAccount
root = service.create(root);
// Impression du graphique de données de sortie
System.out.println("Output datagraph after creating user"+ printDO(root));
return root;