Une commande lectrice peut cesser de l'être sur une option, et le verrou suit l'invocation¶
src/test/java/fr/univ_amu/iut/cli/CliVerrouWorkspaceTest.java, ClassementLectureEcritureTest#aucune_commande_n_est_sans_classementContexte¶
L'ADR 3498 pose que le verrou du dossier de travail
se prend par défaut, et qu'une commande s'en dispense en portant l'interface marqueur LectureSeule.
Elle ajoute que la liste des lectrices est stable : « une commande qui lit le restera ».
Le lot 24 de #5596 a donné à etat-traitement-vigiechiro l'option --importer, qui écrit des
observations en base (ADR 5784). La même
commande lit sans l'option, et écrit avec. Le marqueur, porté par la classe, ne savait pas le dire.
Décision¶
Le marqueur porte une réponse, et le verrou suit l'invocation. LectureSeule gagne
neFaitQueLire(), vraie par défaut. Une commande qui lit sauf sur une option la redéfinit ;
StrategieExecutionCli dispense du verrou une commande lectrice qui répond vrai pour cette
invocation.
Le sens de la déclaration ne change pas : oublier de redéfinir la réponse fait refuser une consultation, ce qui se voit ; il n'existe toujours aucun moyen de laisser une écriture échapper au verrou par omission d'un marqueur d'écrivaine.
Ce qui a été écarté¶
Retirer le marqueur de la commande. Le simple relevé serait refusé dès que l'application graphique est ouverte, alors qu'un script le lance justement pour attendre la fin d'une analyse.
Une commande séparée pour importer. Le porteur a préféré l'option, et importer-vigiechiro
existe déjà pour qui veut importer sans relever.
Ce que cette décision n'autorise pas¶
Elle ne fait pas de neFaitQueLire() un interrupteur de confort. Une option qui écrit dans le
dossier de travail rend la commande écrivaine pour cette invocation, sans exception.
Conséquences¶
« Une commande qui lit le restera » cesse d'être vrai de la classe ; cela reste vrai de l'invocation
sans option. ClassementLectureEcritureTest compte toujours les classes qui portent le marqueur, et
son compte n'a pas bougé.