Closed
Issue #21
· created by
(Edited
)
Récupération du résultat sous forme de votable
Je n'ai pas trouvé le moyen de récupérer le votable correspondant à ce qui est affiché lors d'une requête sur plusieurs services.
Le besoin est d'avoir un votable à envoyer + index des éléments à considérer. Le découpage avec des onglets pour chaque résultat de service tel que proposé dans l'issue #20 devrait faciliter ceci fortement.
-
Je peux aussi créer une nouvelle VOTable et y ajouter les tables récupérées par les différentes requêtes :
// import eu.omp.irap.vespa.epntapclient.votable.model ObjectFactory factory = new ObjectFactory(); VOTABLE vot = factory.createVOTABLE(); Resource res = factory.createResource(); res.getCOOSYSOrGROUPOrPARAM().add(table1); res.getCOOSYSOrGROUPOrPARAM().add(table2); res.getCOOSYSOrGROUPOrPARAM().add(table3); vot.setResource(res);
Et ensuite modifier VOTableCtrl.readTable() pour qu'il insères toutes les Table dans voTableData. Actuellement c'est uniquement la première :
Table table = (Table) voTable.getRESOURCE().get(0).getLINKAndTABLEOrRESOURCE().get(0); VOTableDataParser dataCtrl; dataCtrl = new VOTableDataParser(table); dataCtrl.parseData();
Cela te conviendrait ?
-
Cela peut convenir si les résultats ont un schéma identique mais ce n'est pas le cas. Exemple sur l'interrogation de deux services sur une requete du type "Select * ...".
Service 1 renvoyant des colonnes toto, titi, url_tata. Service 2 renvoyant des colonnes toto, tete, url_tutu.
Dans ton VOTable, tu ne peux pas correctement retranscrire ces informations avec la descriptions des valeurs présentes ou alors en mettant des valeurs vides...
Le problème est par exemple dans le cas d'un client utilisant ce module. Dans le cas où il voudrait télécharger les spectres via une colonne d'URL. Il demanderait à l'utilisateur la colonne à utiliser, or dans ce cas il y aurait par exemple url_tata et url_tutu : ça va coincer.
D'ordre plus général, ici cela reviendrait à modifier la réponse d'un service ce qui est, de mon point de vue, problématique. C'est pourquoi je pense que l'utilisation d'onglets pour les résultats de chaque services est la solution à garder.
-
Je pense qu'il y a d'ailleurs une erreur sur cela actuellement dans le cas ou les colonnes sont différentes. Ce qui est affiché entre les deux services ne correspondent par aux colonnes nommées pour le second.
Exemple :
- selection de APIS et BASECOM
- requête : SELECT DISTINCT TOP 20 * FROM #tablename#
-
je pense aussi qu'il faut autant d'onglet que de votables retournées !
-
Ok.
(Mickael je ne comprend pas ta phrase : Ce qui est affiché entre les deux services ne correspondent par aux colonnes nommées pour le second.)
-
Normal, ce n'était pas dans un français correct. En gros, j'ai l'impression qu'il y a un mélange sur les colonnes des services en cas de requêtes sur plusieurs services.
Cf screenshot attaché : Je ne pense pas que 22P/Kopff soit un type de format ou une URL !
-
Status changed to closed
-
Status changed to reopened
-
mentioned in commit 56349bdea7dccf58df154fa44867c08049c9a7cc
-
Résolu avec 56349bdea7dccf58df154fa44867c08049c9a7cc : ResultsPanelCtrl.getFocusedVOTablePath()
-
Status changed to closed