Tests Alain
Saisie de faune accessoire conservée ou rejetée , devenir faune : le libellé qui apparaît à l’écran est
tronqué au 36° caractère
Saisie activité, non coup de senne : le libellé est tronqué
Saisie de système observé : le libellé est tronqué. Corriger odontocèdes et mysticèdes.
A ma connaissance il est possible de sélectionner un système appartenant à BL en même temps
qu’un système appartenant à BO (ce qui est contradictoire) sans qu’un message ne nous le signale. Je
pense qu’il serait bon d’avoir un contrôle là-dessus.
En accord avec AD, on peut tout-à-fait sélectionner n'importe quel système observé. Le
comportement de l'appli est donc valide.
Simplement, pour une version future, il faudra rajouter dans le référentiel
« systemeobserve » un champ int dont les valeurs 1 ou 2 permettront de dire si chaque
système est caractéristique d'un banc libre (BO) ou d'un banc objet (BO). La règle veut
que « si une calée est caractérisée au moins par un système observé de type BO, alors la
calée est considérée comme BO ». Ceci permettra de précalculer si la pêche a eu lieu sur
BL ou BO et de renseigner un marqueur (nouveau champ, int) dans la table calee indiquant
si la calée s'est faite sur BO ou BL. Ceci est une demande forte des chercheurs, qui leur
simplifiera les analyses (à ce jour il faut effectuer une requête supplémentaire sur
caleesystemeobserve pour connaître cette propriété.)
Echantillon thon rejeté : dans la partie supérieure de l’écran le poids (en t) n’est pas correct (poids
calculéL/P * nbre). Le poids qui s’affiche c’est le poids ind. que l’on retrouve plus bas (en grisé)
Echantillon thon capturé : idem Echantillon thon rejeté
Echantillon faune accessoire : idem Echantillon thon rejeté.
Actuellement, le tableau donne le poids individuel (en kg), mais le titre de la colonne indique des
tonnes.
L'idéal serait :
[requis] de corriger le libellé de cette colonne : la nommer « Poids individuel (en kg) » (ne pas
toucher à la valeur affichée, correcte)
[optionnel] de rajouter, après la colonne effectif, une colonne « Poids total (en t) » : la valeur
(qui, je crois bien, n'est pas présente en base), serait donnée par la formule : Ptot = Pind *
effectif
Les relations taille/poids ne sont pas correctes (mais changées dans Espèces V 1.5)
Tony, le fichier Excel qui contient les paramètres a et b a été encore remis à jour (mais les colonnes
ont cette fois été conservées). Serais-tu ok pour faire une ultime mise à jour du référentiel avec ce
fichier ? Sinon, on le fera à la main.
Tony, penses-tu qu'on puisse bénéficier de ton script de mise à jour des coefficients a, b, taille min,
taille max, poids min, poids max... ? Pour pouvoir le faire nous même à l'avenir ?
Echantillon faune accessoire : En outre, les observateurs se plaignent de devoir saisir ces
échantillons individu par individu. A terme il serait bien peut-être de permettre, comme pour les
échantillons thon rejeté :
- Une saisie par effectif (s’il n’y a pas de pesée, si le sexe n’est pas précisé et s’il n’y a pas de
photo liée)
- Une saisie par individu (dans les autres cas)
A voir éventuellement
Pourquoi pas, mais cette demande est tout-à-fait nouvelle. On verra donc ça dans une future version.
TEST de Calculer les données
Les calculs semblent corrects maintenant (relations T/P, estimations). Limiter les décimales.
Sur les résultats de calculs en tonnes, limiter l'affichage à 3 décimales.
Sur les résultats de calculs en kilos, si un nombre de décimales est déjà fixé, le laisser. Sinon, limiter à
2 décimales.
Voir les modes de calculs si a ou b=0 avec instructions de PChavance et mettre en place le nouveau
fichier espèces (Pchavance)
Tony, concernant les calculs taille/poids, on me demande de modifier légèrement les règles de
calcul/non-calcul :
si a et b existent et <> de 0 → on calcule (pas de changement)
si a ET b = 0 ou nulls → pas de calcul (pas de changement)
si a <> 0 ET b=0 → on calcule tout de même. (C'est un cas particulier dans lequel on n'a pas
les paramètres a et b, mais simplement un poids moyen, que l'on met dans le param a. On
galvaude alors la formule a.L^b : b=0 donc L^b=1, donc Poids = a, a étant un poids moyen. Le
poids obtenu n'est plus dépendant de la taille, c'est un poids moyen fixe.)
TEST TABLEAUX DE SYNTHESE
Sélection du rapport : pourquoi y a-t-il une ligne blanche à la première ligne du menu déroulant ?
Peut-on supprimer cette ligne vide (ce qui supposerait une requête exécutée par défaut, pas
terrible...), ou bien plutôt l'intituler « Choisissez une requête » ?
Activités avec commentaires : ok
Nombre de calées selon type d’association : ok mais le total doit s’exprimer en nombre entier et non
avec une décimale
Effectivement. Peut-on améliorer ça ?
Liste des captures accessoires observées : Poids pêché : préciser « (en t) ». Exprimer avec 3
décimales seulement (si c'est possible...)
Il manque souvent les libellés en français pour certaines espèces (à compléter dans fichier espèces)
Tony, ça ne te concerne pas.
-9 A préciser : comment fait-on pour choisir l’espèce ? impossible
Capture accessoire par groupe :
Il manque souvent les libellés en français pour certaines espèces (à compléter dans fichier espèces)
Tony, ça ne te concerne pas.
Capture accessoire par type d’association :
Aucun calcul n’est effectué (tous les champs restent à « 0 »)
Je confirme ce comportement, pourtant j'ai bien dans ma base de test des captures, correctement
associées à des systèmes observés. A vérifier.
Indiquer quelque part sur l’écran que l’on parle en tonnes (avec une décimale) Peut-être tout
simplement dans le nom de la requête : « Capture de thon selon le type d'association (en t) »
Nombre de calées et captures journalières d’une marée : rectifier le libellé comme ceci : « Afficher
le nombre de calées et les captures journalières d’une calée »
Utilisation des DCP : ok
Tests Pascal
Requêtes de synthèse
il faut ajouter cette requête : Pour la marée, donner par jour, la position du matin (=1ère activité de
la journée). Résultat de la forme :
jour
latitude
longitude
heure
01/01/10
-3,12
30,5
08:12:00
02/01/10
-0,64
32,21
07:32:00
03/01/10
1,45
35,85
07:48:00
Ce tableau, inséré ensuite dans un fichier Excel ou CSV, permettra de tracer la carte de la marée avec
un logiciel adapté. En attendant que le logiciel puisse facilement se connecter facilement à la base
observe (comme prévu dans la v2.5).
Libellés
Il manque quelques libellés dans les bandeaux des fenêtres de certains assistants : c'est le nom de la
clé qui s'affiche.
Exemple : Ecran de sélection de la source de données : le bandeau affiche
« observe.title.create.local.db »
Sélection d'une base distante
Si l'on indique une Url dont le serveur ne répond pas (exemple demo.codelutin.com lorsque mon IP
n'est pas acceptée par votre routeur), la fenêtre se fige (bouton enfoncé) avec impossibilité d'annuler
et de corriger son erreur. Il ne semble pas y avoir non plus de timeout car après plus de 5min
d'attente, l'appli est toujours figée. Il faut tuer l'application et recommencer.
Peut-on améliorer ça ?
C'est pas dramatique, le problème semble limité aux cas où le serveur existe, mais l'accès réseau
bloqué... en effet, si serveur ou base réellement invalide, l'appli répond bien « connexion refusée ».
Défaut de droits suite à migration de base centrale 1.0.1 → 1.9.1
J'ai reproduit ce phénomène sur 2 machines : ma machine locale et notre serveur vmot-proto (SSL).
Je crée une nouvelle base obstuna avec « admin » comme propriétaire.
Je restore une base : ok, avec les messages suivants :
pg_restore: ATTENTION: aucun droit n'a pu être révoqué pour « public »
pg_restore: ATTENTION: aucun droit n'a pu être révoqué pour « public »
pg_restore: ATTENTION: aucun droit n'a été accordé pour « public »
pg_restore: ATTENTION: aucun droit n'a été accordé pour « public »
L'appli se ferme automatiquement : ok
Je la relance en mode normal. Je tente une connexion avec mon login « pcauquil »
(utilisateur que j'ai indiqué comme « technicien » lors de la migration. Une exception jaillit.
Même phénomène avec un autre login de technicien, comme ici avec « adamiano » :
java.lang.RuntimeException: Can not obtain list of interface fr.ird.observe.entities.referentiel.Programme
at jaxx.runtime.swing.nav.tree.NavTreeNode.populateChilds(NavTreeNode.java:253)
at fr.ird.observe.ui.tree.ObserveTreeHelper.createModel(ObserveTreeHelper.java:140)
at fr.ird.observe.ui.tree.ObserveTreeHelper.loadNavigationUI(ObserveTreeHelper.java:239)
at fr.ird.observe.ObserveContext$1.openOnUI(ObserveContext.java:522)
at fr.ird.observe.ObserveContext$1.onOpened(ObserveContext.java:374)
at fr.ird.observe.db.impl.AbstractDataSource.fireOpened(AbstractDataSource.java:573)
at fr.ird.observe.db.impl.AbstractDataSource.doOpen(AbstractDataSource.java:122)
at fr.ird.observe.ui.storage.StorageUIHandler.doChangeStorage(StorageUIHandler.java:487)
at fr.ird.observe.ui.storage.StorageUILauncher$1.doAction(StorageUILauncher.java:204)
at fr.ird.observe.ui.storage.StorageUILauncher$1.doAction(StorageUILauncher.java:142)
at jaxx.runtime.swing.wizard.WizardUILancher$1.run(WizardUILancher.java:173)
at jaxx.runtime.swing.application.ActionWorker.doInBackground(ActionWorker.java:80)
at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at javax.swing.SwingWorker.run(SwingWorker.java:316)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: fr.ird.observe.db.DataSourceException: Can not obtain list of interface fr.ird.observe.entities.referentiel.Programme
at fr.ird.observe.db.impl.AbstractDataSource.loadDecoratedEntities(AbstractDataSource.java:433)
at fr.ird.observe.db.impl.DataServiceImpl.loadDecoratedEntities(DataServiceImpl.java:1109)
at fr.ird.observe.ui.tree.loadors.RootNodeChildLoador.getData(RootNodeChildLoador.java:92)
at jaxx.runtime.swing.nav.NavNodeChildLoador.loadChilds(NavNodeChildLoador.java:121)
at jaxx.runtime.swing.nav.tree.NavTreeNode.populateChilds(NavTreeNode.java:251)
... 18 more
Caused by: org.nuiton.topia.TopiaException: Une erreur est apparue pendant le recherche (requête FROM fr.ird.observe.entities.referentiel.Programme) :
could not load an entity:
[fr.ird.observe.entities.referentiel.OrganismeImpl#fr.ird.observe.entities.referentiel.Organisme#1267835067241#0.6705236825871838]
at org.nuiton.topia.framework.TopiaContextImpl.find(TopiaContextImpl.java:963)
at org.nuiton.topia.framework.TopiaQuery.execute(TopiaQuery.java:1264)
at org.nuiton.topia.framework.TopiaQuery.executeToEntityList(TopiaQuery.java:1282)
at org.nuiton.topia.persistence.TopiaDAOImpl.findAllByQuery(TopiaDAOImpl.java:513)
at org.nuiton.topia.persistence.TopiaDAOImpl.findAll(TopiaDAOImpl.java:474)
at fr.ird.observe.db.impl.AbstractDataSource.loadDecoratedEntities(AbstractDataSource.java:425)
... 22 more
Caused by: org.hibernate.exception.SQLGrammarException: could not load an entity:
[fr.ird.observe.entities.referentiel.OrganismeImpl#fr.ird.observe.entities.referentiel.Organisme#1267835067241#0.6705236825871838]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1899)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:65)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3062)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:223)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:906)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:874)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:590)
at org.hibernate.type.EntityType.resolve(EntityType.java:412)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:139)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:877)
at org.hibernate.loader.Loader.doQuery(Loader.java:752)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !