-
Notifications
You must be signed in to change notification settings - Fork 7
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
Fix table's sequence fetching when inserting new record #604
Conversation
… un block + changer le fonctionnement de la methode Utils.getNextTableId pour creer des sequence sous la format nomTable_COLONNEID_seq + test unitaires [APPS-01S8]
…rection de test [APPS-01S8]
Clean : Cosmetics galite-data : - Remove tables Dummy and Dual from Galite. - Fix method Utils.getNextTableId : Use the first sequence found from the following : `user defined sequence`, `<Table>id`, `<Table>_<IdField>_seq` galite-demo : - Change forms ClientForm and ProductForm to allow insertMode - Define all tables sequence names galite-tests : Fix automated tests, add a user defined sequence for table Training
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merci de supprimer cette modification :
La classe Calendar présente plusieurs problèmes. Je propose de créer un dossier spécifique pour traiter toutes les anomalies présentées dans l'implémentation du composant FullCalendar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne suis pas d'accord pour la suppression de cette modification. C'est une modification pour résoudre un problème trouvé lors du test, et qui est aussi décrite dans la description du pull request.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Le formulaire Task présente plusieurs anomalies ( ainsi que la class Calendar), comme j'ai mentionné précédemment. Il est nécessaire de créer un dossier spécifique pour traiter tous les problèmes.
exemple d'anomalie :
autre anomalie :
java.lang.RuntimeException: org.kopi.galite.visual.ui.vaadin.calendar.DAbstractFullCalendar$updateEntries$1@d56abff Fetch entries
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense que c'est une erreur fatale
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense que c'est une erreur fatale
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense que c'est une erreur fatale
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense que c'est une erreur fatale
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
À quoi sert ce changement ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai ajouté l'appel de databaseConfig dans galite-test pour initialiser le SQL Logger, Donc j'ai initialisé le paramètre schema par null pour un appel plus propre de la méthode (ne pas avoir besoin d'appeler databaseConfig(null)).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je propose de modifier la structure de cette fonction. Voici la structure proposée :
- Si nous avons la séquence : nous l'utilisons pour retourner le prochain identifiant à utiliser.
- Sinon : - nous essayons avec la séquence définie dans DbSchema.
- Sinon, nous utilisons la séquence par défaut de Postgres.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quelle séquence de DBSchema? Il n'y a aucune liaison entre les séquences définies dans un DBSchema et le champ qui est incrémenté par cette séquence.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
À quoi servent tous ces changements ? On n'arrive pas à effectuer les tests nécessaires dans un bloc sans UC et TS field.
On n'arrive pas à ajouté des nouveaux clients
On n'arrive pas à ajouté des nouveaux Sales pour un client donné
Bouton Liste ne fonctionne pas correctement ..
Le bouton Save doit étre disponible dans le mode = INSERT ou mode = UPDATE seulement
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merci de détailler les erreurs que tu as rencontré car je peux :
- Ajouter et sauvegarder des nouveaux clients
- Ajouter des ventes à un client existant et sauvegarder les changements
- Lister les clients
De plus, il nest pas nécessaires d'avoir les champs uc et ts dans une table pour pouvoir manipuler les données.
J'ai changé l'accessibilité du bouton Save
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
À quoi servent tous ces changements ? On n'arrive pas à effectuer les tests nécessaires dans un bloc sans UC et TS field.
autre remarque :
Le bouton Save doit étre disponible dans le mode = INSERT ou mode = UPDATE seulement
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il n'est pas nécessaire d'avoir les champs uc et ts pour créer et utiliser un formulaire dans galite. Merci de détailler les exceptions trouvées car je peux créer des nouveaux produits
J'ai changé l'accessibilité du bouton Save
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ci-dessous le résultat du test :
log : Caused by: java.lang.AssertionError: UC or TS field must exist (Block = BlockProduct).
at org.kopi.galite.visual.form.VBlock.insertRecord(VBlock.kt:3313)
at org.kopi.galite.visual.form.VBlock.save(VBlock.kt:1893)
at org.kopi.galite.visual.form.Commands$saveBlock$2.invoke(Commands.kt:373)
at org.kopi.galite.visual.form.Commands$saveBlock$2.invoke(Commands.kt:372)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:189)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:215)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:223)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:214)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:165)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:223)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:135)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:132)
at org.kopi.galite.visual.database.WindowTransactionKt$transaction$1.invoke(WindowTransaction.kt:79)
at org.kopi.galite.visual.database.WindowTransactionKt.doAndWait(WindowTransaction.kt:124)
at org.kopi.galite.visual.database.WindowTransactionKt.transaction(WindowTransaction.kt:78)
at org.kopi.galite.visual.database.WindowTransactionKt.transaction$default(WindowTransaction.kt:75)
at org.kopi.galite.visual.form.Commands.saveBlock(Commands.kt:372)
... 8 more
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix accessiblity for save command in forms ClientForm and ProductForm [APPS-01S8] Clean : Cosmetics
…rchase block to mustFill [APPS-01S8]
in this pull request i fixed the table's sequence fetching when inserting new record. I also fixed a bug of ClassCastException of LocalDateTime to Instant in CallendarBlock. I tested the fetch of sequence of the base table.