Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visu KO - IndexOutOfBoundsException: Index 8 out of bounds for length 8 #883

Open
JulienCarmona opened this issue Dec 2, 2024 · 5 comments
Assignees
Labels
Type: Bug Something isn't working

Comments

@JulienCarmona
Copy link
Contributor

JulienCarmona commented Dec 2, 2024

Bug de visu

Image

Env : Demo
Questionnnaire : ly4nbfn0 (EHIS 2025 - questionnaire test EST - Module 2 : Recours aux soins)

Note

La génération DDI fonctionne bien.
Je note cependant qu'on a dedans des var avec un seul $
Image
Ici $HS2REF= "1"
Pourtant, on a bien le filtre dans Pogues avec les deux `$
Image

Pb de génération Eno ?

J'ai essayé de supprimer les filtres qui posent pb mais ca change rien

Version

Pogues - 1.7.3

Solution

Côté génération, on peut implémenter une amélioration à faible coût pour améliorer la gestion de l'erreur de ce cas là (pas souhaitable de tomber sur une IndexOutOfBoundsException) : ici ça donnerait quelque chose comme :

Code list CodeList[id=lxyri80e, name=SOINS] has 9 codes, and is used in multiple choice question SimpleMultipleChoiceQuestion[id=ly4kdxba, name=UNX0BIS] that has 8 responses.
@JulienCarmona JulienCarmona added the Type: Bug Something isn't working label Dec 2, 2024
@AnneHuSKa
Copy link

@JulienCarmona Variable UNX0BIS : elle a 8 variables collectées mais 9 lignes dans sa liste de réponses.
Astuce : tenter la génération sous séquence par sous-séquence, puis question par question pour identifier le souci

La présence de $ est lié au fait que la variable HS2REF n'est que référencée dans ce questionnaire, mais pas créée.

@nsenave
Copy link

nsenave commented Dec 2, 2024

Côté génération, on peut implémenter une amélioration à faible coût pour améliorer la gestion de l'erreur de ce cas là (pas souhaitable de tomber sur une IndexOutOfBoundsException) : ici ça donnerait quelque chose comme :

Code list CodeList[id=lxyri80e, name=SOINS] has 9 codes, and is used in multiple choice question SimpleMultipleChoiceQuestion[id=ly4kdxba, name=UNX0BIS] that has 8 responses.

@AnneHuSKa
Copy link

@JulienCarmona @lailabent Je déplace en sprint 4 car pas prio mais ca serait top @nsenave

@JulienCarmona
Copy link
Contributor Author

JulienCarmona commented Dec 2, 2024

@nsenave si tu peux estimer le coup de cette évolution/correction ? Et le passer en triage. Comme ça on prévoit ça pour le prochain sprint

@nsenave
Copy link

nsenave commented Dec 3, 2024

Pour mémoire je remets le message que je vous avez envoyé :

L'utilisateur a ajouté un code dans une liste de code, et n'a pas re-généré les variables collectées sur les questions à choix multiple qui utilisent cette liste de code.

  1. Pogues UI gère pas ce cas là on dirait
  2. Pogues back fait pas de contrôle à ce niveau là
  3. Eno Pogues -> DDI plante pas mais le DDI résultant a des problèmes
  4. Eno DDI -> Lunatic s'en rend compte un peu par hasard quand il essaye de mapper les libellés de la liste de code sur les "responses" de l'objet question à choix multiples ("CHECKBOX_GROUP") : la liste de code a un code en trop => IndexOutOfBoundsException

Les actions à mener pour améliorer l'expérience utilisateur (tout ou partie ça sera à vous de juger) :

  • Correction dans Pogues UI pour que si une liste de code change, l'utilisateur soit invité à re-générer les variables des questions qui en dépendent (coût XL je dirais, sans doute tricky à faire)
  • Ajouter un contrôle pour ce cas là côté back (coût S, assez simple à faire)
  • Pour la partie Eno xslt Pogues -> DDI je propose de laisser tel quel de loin ça me paraît compliqué à gérer
  • Pour la partie Eno java DDI -> Lunatic cf. ci-dessous :

@JulienCarmona J'avais déjà tout sous la main quand j'ai debug dans Eno java (j'ai mis la PR direct dans le backlog d'équipe) :

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants