Informations supplémentaires concernant les contextes de modification

Les ressources modifiées dans un contexte de modification sont accessibles à l'aide des proxys obtenus depuis son fournisseur. (Consultez CqUserDb.MODIFIED_RESOURCES_LIST dans les informations Javadoc pour le module cq.)

Les opérations qui modifient une ressource non versionnée entraînent la copie de cette ressource depuis son emplacement (situé dans le référentiel) dans un contexte de modification, où elle est modifiée. C'est le proxy utilisé pour effectuer la modification qui détermine le contexte de modification qui conserve la copie. La copie modifiée de la ressource cache la ressource correspondante dans le référentiel jusqu'à ce que le contexte de modification soit transmis ou supprimé ou jusqu'à ce que la copie modifiée soit supprimée du contexte de modification.

Une session d'édition en cours peut être abandonnée grâce à la méthode doClearContext().

Une ressource de contexte de modification est créée par le serveur dès la première fois qu'une requête de modification d'une CqContextResource est effectuée.

Un contexte de modification possède des ressources en vigueur, nouvellement créées et modifiées jusqu'à la validation.

Il ne peut y avoir qu'un contexte de modification par base de données utilisateur, mais des éditions indiépendantes peuvent exister dans le même contexte de modification.

La transmission des ressources modifiées du contexte de modification dans la base de données est contrôlée par le paramètre deliveryOrder sur doWriteProperties et les autres méthodes do communément utilisées dans les ressources de contexte. Le paramètre deliveryOrder contrôle ce qui est transmis et quand.

La méthode doDeliver tente de transmettre cette ressource à la base de données. L'argument sur cette méthode est un objet Feedback et représente une spécification des propriétés de cette ressource qui doivent être incluses dans le proxy renvoyé par cette opération.

Par exemple :
record = (CqRecord) record.doWriteProperties(ALL_FIELDS, HOLD); 
record = (CqRecord) record.doDeliver(ALL_FIELDS); 

La méthode doWriteProperties écrit les propriétés dirty dans le contexte de modification - copie d'une ressource, et, en option, demande que les ressources modifiées dans le contexte de modification soient transmises à la base de données ou qu'elles en soient supprimées.

Les arguments de doWriteProperties sont :

Commentaires