Commit 56349bdea7dccf58df154fa44867c08049c9a7cc

Authored by Nathanael Jourdane
1 parent 7573c47d
Exists in master

Add ResultsPanelCtrl and ResultsPanelsListeners, and fix #21.

src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapConnection.java
... ... @@ -125,7 +125,7 @@ public class EpnTapConnection implements EpnTapInterface {
125 125 @Override
126 126 public List<Granule> sendADQLQuery(String tapURL, String adqlQuery) throws VOTableException {
127 127 VOTableCtrl voTableCtrl = new VOTableCtrl();
128   - voTableCtrl.acquireVOTable(tapURL, adqlQuery, false);
  128 + voTableCtrl.acquireVOTable(tapURL, adqlQuery);
129 129 VOTableData data = voTableCtrl.getVOTableData();
130 130  
131 131 List<Granule> granules;
... ... @@ -139,7 +139,7 @@ public class EpnTapConnection implements EpnTapInterface {
139 139 throws VOTableException {
140 140 String query = String.format(enumeratedQuery.toString(), schemaName);
141 141 VOTableCtrl voTableCtrl = new VOTableCtrl();
142   - voTableCtrl.acquireVOTable(tapURL, query, false);
  142 + voTableCtrl.acquireVOTable(tapURL, query);
143 143 VOTableData data = voTableCtrl.getVOTableData();
144 144 Debug.writeObject("data", data);
145 145  
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/epntap/EpnTapController.java
... ... @@ -17,14 +17,12 @@
17 17 package eu.omp.irap.vespa.epntapclient.epntap;
18 18  
19 19 import java.util.List;
20   -import java.util.logging.Logger;
21 20  
22 21 import eu.omp.irap.vespa.epntapclient.epntap.request.RequestCtrl;
23 22 import eu.omp.irap.vespa.epntapclient.epntap.service.Queries;
24 23 import eu.omp.irap.vespa.epntapclient.epntap.service.ServiceCore;
25 24 import eu.omp.irap.vespa.epntapclient.epntap.service.ServicesList;
26 25 import eu.omp.irap.vespa.votable.Consts;
27   -import eu.omp.irap.vespa.votable.utils.StringJoiner;
28 26 import eu.omp.irap.vespa.votable.votable.VOTableCtrl;
29 27 import eu.omp.irap.vespa.votable.votable.VOTableException;
30 28  
... ... @@ -35,14 +33,11 @@ import eu.omp.irap.vespa.votable.votable.VOTableException;
35 33 */
36 34 public abstract class EpnTapController {
37 35  
38   - /** The logger for the class EpnTapController. */
39   - private static final Logger LOGGER = Logger.getLogger(EpnTapController.class.getName());
40   -
41 36 /** The request controller, to manage requests. */
42 37 private RequestCtrl requestCtrl;
43 38  
44 39 /** The controller of the VOTable displaying the result. */
45   - private VOTableCtrl resultsCtrl;
  40 + private List<VOTableCtrl> resultsCtrls;
46 41  
47 42 /** The controller of the VOTable displaying the list of services. */
48 43 private VOTableCtrl servicesCtrl;
... ... @@ -62,7 +57,7 @@ public abstract class EpnTapController {
62 57 public void acquireServices() throws VOTableException {
63 58 String query = String.format(Queries.SELECT_ALL_TAP_SERVICES_WHERE_CORE,
64 59 ServiceCore.EPNCORE);
65   - getServicesCtrl().acquireVOTable(Consts.DEFAULT_REGISTRY_URL, query, true);
  60 + getServicesCtrl().acquireVOTable(Consts.DEFAULT_REGISTRY_URL, query);
66 61 }
67 62  
68 63 /**
... ... @@ -75,8 +70,8 @@ public abstract class EpnTapController {
75 70 /**
76 71 * @return The controller of the VOTable which displays the result of the query.
77 72 */
78   - public VOTableCtrl getResultsCtrl() {
79   - return resultsCtrl;
  73 + public List<VOTableCtrl> getResultsCtrls() {
  74 + return resultsCtrls;
80 75 }
81 76  
82 77 /**
... ... @@ -94,17 +89,15 @@ public abstract class EpnTapController {
94 89 }
95 90  
96 91 /**
97   - * Send all the queries.
  92 + * Send the query to all services.
98 93 *
99 94 * @param services The services to send the queries.
100 95 */
101 96 public void sendQueries(ServicesList services) {
102   - List<String> servicesUrls = services.getTargetUrls();
103   - LOGGER.info("Sending query(ies) at " + StringJoiner.join(servicesUrls));
104   - for (int i = 0; i < servicesUrls.size(); i++) {
105   - String query = getRequestCtrl().getQuery(services.getTableNames().get(i));
106   - getResultsCtrl().acquireVOTable(servicesUrls.get(i), query, i != 0);
  97 + for (int i = 0; i < services.getNbServices(); i++) {
  98 + VOTableCtrl resultCtrl = new VOTableCtrl();
  99 + String query = requestCtrl.getQuery(services.getTableNames().get(i));
  100 + resultCtrl.acquireVOTable(services.getTargetUrls().get(i), query);
107 101 }
108   -
109 102 }
110 103 }
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/epntap/service/ServiceCtrl.java
... ... @@ -152,7 +152,7 @@ public class ServiceCtrl {
152 152 */
153 153 public static VOTABLE getVoTable(String query) throws VOTableException {
154 154 VOTableCtrl voTableCtrl = new VOTableCtrl();
155   - voTableCtrl.acquireVOTable(Consts.DEFAULT_REGISTRY_URL, query, false);
  155 + voTableCtrl.acquireVOTable(Consts.DEFAULT_REGISTRY_URL, query);
156 156 return voTableCtrl.getVOTable();
157 157 }
158 158  
... ... @@ -174,7 +174,7 @@ public class ServiceCtrl {
174 174 */
175 175 public static VOTableData getVoTableData(VOTABLE voTable) throws VOTableException {
176 176 VOTableCtrl ctrl = new VOTableCtrl();
177   - ctrl.acquireVOTable(voTable, false);
  177 + ctrl.acquireVOTable(voTable);
178 178 Table table = (Table) voTable.getRESOURCE().get(0).getLINKAndTABLEOrRESOURCE().get(0);
179 179 VOTableDataParser dataParser = new VOTableDataParser("Services list", table);
180 180 dataParser.parseData();
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/epntap/service/ServicesList.java
... ... @@ -53,6 +53,11 @@ public class ServicesList {
53 53 selectedTargetUrls = new ArrayList<>();
54 54 }
55 55  
  56 + /** @return The numbers of services (custom + selected) */
  57 + public int getNbServices() {
  58 + return customTargetUrls.size() + selectedTargetUrls.size();
  59 + }
  60 +
56 61 /**
57 62 * @return the tableName
58 63 */
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/mainpanel/MainPanelCtrl.java
... ... @@ -16,18 +16,22 @@
16 16  
17 17 package eu.omp.irap.vespa.epntapclient.gui.mainpanel;
18 18  
  19 +import java.awt.Cursor;
19 20 import java.io.File;
20 21 import java.io.IOException;
21 22 import java.nio.file.Files;
22 23 import java.nio.file.Paths;
  24 +import java.util.ArrayList;
  25 +import java.util.List;
23 26 import java.util.logging.Level;
24 27 import java.util.logging.Logger;
25 28  
26 29 import javax.swing.JOptionPane;
27 30  
28 31 import eu.omp.irap.vespa.epntapclient.epntap.EpnTapController;
  32 +import eu.omp.irap.vespa.epntapclient.epntap.service.ServicesList;
29 33 import eu.omp.irap.vespa.epntapclient.gui.requestpanel.RequestPanelCtrl;
30   -import eu.omp.irap.vespa.epntapclient.gui.resultpanel.ResultPanelCtrl;
  34 +import eu.omp.irap.vespa.epntapclient.gui.resultpanel.ResultsPanelCtrl;
31 35 import eu.omp.irap.vespa.epntapclient.gui.servicespanel.ServicesPanelCtrl;
32 36  
33 37 /**
... ... @@ -42,7 +46,7 @@ public class MainPanelCtrl extends EpnTapController implements MainPanelListener
42 46 RequestPanelCtrl requestPanelCtrl;
43 47  
44 48 /** The controller of the result panel. */
45   - ResultPanelCtrl resultsPanelCtrl;
  49 + ResultsPanelCtrl resultsPanelCtrl;
46 50  
47 51 /** The controller of the services panel. */
48 52 ServicesPanelCtrl servicesPanelCtrl;
... ... @@ -56,8 +60,8 @@ public class MainPanelCtrl extends EpnTapController implements MainPanelListener
56 60 */
57 61 public MainPanelCtrl() {
58 62 servicesPanelCtrl = new ServicesPanelCtrl(this);
59   - resultsPanelCtrl = new ResultPanelCtrl(this);
60 63 requestPanelCtrl = new RequestPanelCtrl(this);
  64 + resultsPanelCtrl = new ResultsPanelCtrl(this);
61 65 view = new MainPanelView(this);
62 66 }
63 67  
... ... @@ -82,19 +86,14 @@ public class MainPanelCtrl extends EpnTapController implements MainPanelListener
82 86 view.getStatusBarPanelView().setStatusBarText(shortMessage);
83 87 }
84 88  
85   - /**
86   - * @return The controller of the request panel.
87   - */
  89 + /** @return The controller of the request panel. */
88 90 @Override
89 91 public RequestPanelCtrl getRequestCtrl() {
90 92 return requestPanelCtrl;
91 93 }
92 94  
93   - /**
94   - * @return The controller of the result panel.
95   - */
96   - @Override
97   - public ResultPanelCtrl getResultsCtrl() {
  95 + /** @return The controller of the result panel. */
  96 + public ResultsPanelCtrl getResultsCtrl() {
98 97 return resultsPanelCtrl;
99 98 }
100 99  
... ... @@ -116,7 +115,7 @@ public class MainPanelCtrl extends EpnTapController implements MainPanelListener
116 115 @Override
117 116 public void saveCurrentVOTable(File file) {
118 117 try {
119   - Files.copy(Paths.get(resultsPanelCtrl.getVOTablePath()),
  118 + Files.copy(Paths.get(resultsPanelCtrl.getFocusedVOTablePath()),
120 119 Paths.get(file.getAbsolutePath()));
121 120 } catch (IOException e) {
122 121 displayError("Can not save the VOTable file.", e);
... ... @@ -125,7 +124,19 @@ public class MainPanelCtrl extends EpnTapController implements MainPanelListener
125 124  
126 125 @Override
127 126 public void sendQueries() {
128   - sendQueries(servicesPanelCtrl.getServices());
  127 + ServicesList services = getServicesCtrl().getServices();
  128 + List<String> queries = new ArrayList<>();
  129 + for (String tableName : services.getTableNames()) {
  130 + queries.add(requestPanelCtrl.getQuery(tableName));
  131 + }
  132 + resultsPanelCtrl.sendQueries(services, queries);
  133 + }
  134 +
  135 + /* @see MainPanelListener */
  136 + @Override
  137 + public void setWaitMode(boolean enableWaitMode) {
  138 + int cursor = enableWaitMode ? Cursor.WAIT_CURSOR : Cursor.DEFAULT_CURSOR;
  139 + view.setCursor(Cursor.getPredefinedCursor(cursor));
129 140 }
130 141  
131 142 @Override
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/mainpanel/MainPanelListener.java
... ... @@ -49,6 +49,13 @@ public interface MainPanelListener {
49 49 /** Ask the main panel to send the query. */
50 50 void sendQueries();
51 51  
  52 + /**
  53 + * Set the cursor in the VOTable view.
  54 + *
  55 + * @param enableWaitMode True to set the Wait cursor, false to set the default cursor.
  56 + */
  57 + void setWaitMode(boolean enableWaitMode);
  58 +
52 59 /** Ask the main panel to update the query. */
53 60 void updateQuery();
54 61 }
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/mainpanel/MainPanelView.java
... ... @@ -24,7 +24,7 @@ import javax.swing.JPanel;
24 24 import javax.swing.JSplitPane;
25 25  
26 26 import eu.omp.irap.vespa.epntapclient.gui.requestpanel.RequestPanelView;
27   -import eu.omp.irap.vespa.epntapclient.gui.resultpanel.ResultPanelView;
  27 +import eu.omp.irap.vespa.epntapclient.gui.resultpanel.ResultsPanelView;
28 28 import eu.omp.irap.vespa.epntapclient.gui.servicespanel.ServicesPanelView;
29 29 import eu.omp.irap.vespa.epntapclient.gui.statusbarpanel.StatusBarPanelView;
30 30  
... ... @@ -42,7 +42,7 @@ public class MainPanelView extends JPanel {
42 42 private RequestPanelView requestPanel;
43 43  
44 44 /** The JPanel where the VOTable results is displayed. */
45   - private ResultPanelView resultPanel;
  45 + private ResultsPanelView resultPanel;
46 46  
47 47 /** The JPanel where the list of services is displayed. */
48 48 private ServicesPanelView servicesPanel;
... ... @@ -85,7 +85,7 @@ public class MainPanelView extends JPanel {
85 85 /**
86 86 * @return The JPanel where the VOTable result is displayed.
87 87 */
88   - public ResultPanelView getResultsPanel() {
  88 + public ResultsPanelView getResultsPanel() {
89 89 return resultPanel;
90 90 }
91 91  
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultPanelCtrl.java renamed to src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultTabCtrl.java
... ... @@ -16,36 +16,47 @@
16 16  
17 17 package eu.omp.irap.vespa.epntapclient.gui.resultpanel;
18 18  
19   -import java.awt.Cursor;
20 19 import java.util.logging.Logger;
21 20  
22 21 import eu.omp.irap.vespa.epntapclient.gui.mainpanel.MainPanelListener;
  22 +import eu.omp.irap.vespa.votable.gui.VOTablePanelView;
23 23 import eu.omp.irap.vespa.votable.utils.StringJoiner;
24 24 import eu.omp.irap.vespa.votable.votable.VOTableCtrl;
25 25  
26 26 /**
27 27 * @author N. Jourdane
28 28 */
29   -public class ResultPanelCtrl extends VOTableCtrl implements ResultPanelListener {
  29 +public class ResultTabCtrl extends VOTableCtrl implements ResultTabListener {
30 30  
31 31 /** The logger for the class ResultPanelCtrl. */
32   - private static final Logger LOGGER = Logger.getLogger(ResultPanelCtrl.class.getName());
  32 + private static final Logger LOGGER = Logger.getLogger(ResultTabCtrl.class.getName());
33 33  
34 34 /** The listener of the main panel. */
35 35 private MainPanelListener listener;
36 36  
  37 + /** The result panel view, used to add the new tab into it. */
  38 + private ResultsPanelView resultsPanelView;
  39 +
  40 + /** The title of the tab (ie. The name of the service). */
  41 + private String title;
  42 +
37 43 /** The result panel view. */
38   - private ResultPanelView view;
  44 + private VOTablePanelView view;
39 45  
40 46  
41 47 /**
42 48 * Constructor of ResultPanelCtrl.
43 49 *
44 50 * @param listener The listener of the main panel.
  51 + * @param resultsPanelView The result panel view, used to add the new tab into it.
  52 + * @param title The title of the tab (ie. The name of the service).
45 53 */
46   - public ResultPanelCtrl(MainPanelListener listener) {
  54 + public ResultTabCtrl(MainPanelListener listener, ResultsPanelView resultsPanelView,
  55 + String title) {
47 56 this.listener = listener;
48   - view = new ResultPanelView(this);
  57 + this.resultsPanelView = resultsPanelView;
  58 + view = new VOTablePanelView(this);
  59 + this.title = title;
49 60 }
50 61  
51 62 @Override
... ... @@ -59,27 +70,26 @@ public class ResultPanelCtrl extends VOTableCtrl implements ResultPanelListener
59 70 }
60 71  
61 72 @Override
62   - public void fillTable() {
63   - view.addTable(voTableData);
  73 + public void displayTable() {
  74 + view.fillTable(voTableData);
  75 + resultsPanelView.addTab(title, view);
64 76 }
65 77  
66 78 /**
67 79 * @return The result panel view.
68 80 */
69   - public ResultPanelView getView() {
  81 + public VOTablePanelView getView() {
70 82 return view;
71 83 }
72 84  
73 85 @Override
74 86 public void onRowsSelected() {
75   - if (view.getSelectedIndex() != -1) {
76   - LOGGER.info("Selected row(s): " + StringJoiner.join(view.getSelectedRows()));
77   - }
  87 + LOGGER.info("Selected row(s): " + StringJoiner.join(view.getSelectedRows()));
78 88 }
79 89  
80 90 @Override
81   - public void setWaitCursor(boolean enableWaitcursor) {
82   - int cursor = enableWaitcursor ? Cursor.WAIT_CURSOR : Cursor.DEFAULT_CURSOR;
83   - view.setCursor(Cursor.getPredefinedCursor(cursor));
  91 + public void setWaitMode(boolean enableWaitMode) {
  92 + listener.setWaitMode(enableWaitMode);
84 93 }
  94 +
85 95 }
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultPanelListener.java renamed to src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultTabListener.java
... ... @@ -21,6 +21,6 @@ import eu.omp.irap.vespa.votable.gui.VOTablePanelListener;
21 21 /**
22 22 * @author N. Jourdane
23 23 */
24   -public interface ResultPanelListener extends VOTablePanelListener {
  24 +public interface ResultTabListener extends VOTablePanelListener {
25 25  
26 26 }
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultsPanelCtrl.java 0 → 100644
... ... @@ -0,0 +1,70 @@
  1 +/*
  2 + * This file is a part of EpnTAPClient.
  3 + * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
  4 + * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
  5 + * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
  6 + *
  7 + * This program is free software: you can
  8 + * redistribute it and/or modify it under the terms of the GNU General Public License as published
  9 + * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
  10 + * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
  11 + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  12 + * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
  13 + * the GNU General Public License along with this program. If not, see
  14 + * <http://www.gnu.org/licenses/>.
  15 + */
  16 +
  17 +package eu.omp.irap.vespa.epntapclient.gui.resultpanel;
  18 +
  19 +import java.util.List;
  20 +
  21 +import eu.omp.irap.vespa.epntapclient.epntap.service.ServicesList;
  22 +import eu.omp.irap.vespa.epntapclient.gui.mainpanel.MainPanelListener;
  23 +import eu.omp.irap.vespa.votable.gui.VOTablePanelView;
  24 +
  25 +/**
  26 + * @author N. Jourdane
  27 + */
  28 +public class ResultsPanelCtrl implements ResultsPanelListener {
  29 +
  30 + /** The listener of the main panel. */
  31 + private MainPanelListener listener;
  32 +
  33 + /** The result panel view. */
  34 + private ResultsPanelView view;
  35 +
  36 +
  37 + /**
  38 + * Constructor of ResultsPanelCtrl.
  39 + *
  40 + * @param listener The listener of the main panel.
  41 + */
  42 + public ResultsPanelCtrl(MainPanelListener listener) {
  43 + this.listener = listener;
  44 + view = new ResultsPanelView(this);
  45 + }
  46 +
  47 + /** @return The path of the VOTable related to the focused table. */
  48 + public String getFocusedVOTablePath() {
  49 + return ((VOTablePanelView) view.getSelectedComponent()).getVOTablePath();
  50 + }
  51 +
  52 + /** @return The view of the results panel. */
  53 + public ResultsPanelView getView() {
  54 + return view;
  55 + }
  56 +
  57 + /**
  58 + * Send a list of queries to the corresponding services.
  59 + *
  60 + * @param services The services targeted to send the queries
  61 + * @param queries The queries to send, in the same order that the list of services.
  62 + */
  63 + public void sendQueries(ServicesList services, List<String> queries) {
  64 + for (int i = 0; i < queries.size(); i++) {
  65 + String title = services.getTableNames().get(i).split("\\.")[0];
  66 + ResultTabCtrl resultCtrl = new ResultTabCtrl(listener, view, title);
  67 + resultCtrl.acquireVOTable(services.getTargetUrls().get(i), queries.get(i));
  68 + }
  69 + }
  70 +}
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultsPanelListener.java 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +/*
  2 + * This file is a part of EpnTAPClient.
  3 + * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
  4 + * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
  5 + * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
  6 + *
  7 + * This program is free software: you can
  8 + * redistribute it and/or modify it under the terms of the GNU General Public License as published
  9 + * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
  10 + * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
  11 + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  12 + * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
  13 + * the GNU General Public License along with this program. If not, see
  14 + * <http://www.gnu.org/licenses/>.
  15 + */
  16 +
  17 +package eu.omp.irap.vespa.epntapclient.gui.resultpanel;
  18 +
  19 +
  20 +/**
  21 + *
  22 + * @author N. Jourdane
  23 + */
  24 +public interface ResultsPanelListener {
  25 +
  26 +}
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultPanelView.java renamed to src/main/java/eu/omp/irap/vespa/epntapclient/gui/resultpanel/ResultsPanelView.java
... ... @@ -26,13 +26,13 @@ import eu.omp.irap.vespa.votable.votabledata.VOTableData;
26 26 /**
27 27 * @author N. Jourdane
28 28 */
29   -public class ResultPanelView extends JTabbedPane {
  29 +public class ResultsPanelView extends JTabbedPane {
30 30  
31 31 /** The default serial version UID. */
32 32 private static final long serialVersionUID = 1L;
33 33  
34 34 /** The listener of the result panel. */
35   - ResultPanelListener listener;
  35 + ResultsPanelListener listener;
36 36  
37 37  
38 38 /**
... ... @@ -41,27 +41,8 @@ public class ResultPanelView extends JTabbedPane {
41 41 *
42 42 * @param listener The listener of the result view.
43 43 */
44   - public ResultPanelView(ResultPanelListener listener) {
  44 + public ResultsPanelView(ResultsPanelListener listener) {
45 45 this.listener = listener;
46   - buildResultPanel();
47   - }
48   -
49   - /**
50   - * Create a new tab and add a new VOTable into it.
51   - *
52   - * @param voTableData The VOTable data to add in a new tab.
53   - */
54   - public void addTable(VOTableData voTableData) {
55   - VOTablePanelView voTablePanel = new VOTablePanelView(listener);
56   - voTablePanel.fillTable(voTableData);
57   - addTab(voTableData.getTitle(), voTablePanel);
58   - }
59   -
60   - /**
61   - * Build the panel and add graphical elements to it.
62   - */
63   - public void buildResultPanel() {
64   - // setLayout(new BorderLayout());
65 46 }
66 47  
67 48 /**
... ... @@ -71,6 +52,11 @@ public class ResultPanelView extends JTabbedPane {
71 52 return (VOTablePanelView) getComponentAt(getSelectedTab());
72 53 }
73 54  
  55 + /** @return the VOTable view of each tab in the result panel. */
  56 + public VOTablePanelView[] getPanels() {
  57 + return (VOTablePanelView[]) getComponents();
  58 + }
  59 +
74 60 /**
75 61 * @return The index of the selected tab.
76 62 */
... ...
src/main/java/eu/omp/irap/vespa/epntapclient/gui/servicespanel/ServicesPanelCtrl.java
... ... @@ -16,7 +16,6 @@
16 16  
17 17 package eu.omp.irap.vespa.epntapclient.gui.servicespanel;
18 18  
19   -import java.awt.Cursor;
20 19 import java.util.ArrayList;
21 20 import java.util.Arrays;
22 21 import java.util.List;
... ... @@ -57,13 +56,11 @@ public class ServicesPanelCtrl extends VOTableCtrl implements ServicesPanelListe
57 56 view = new ServicesPanelView(this);
58 57 }
59 58  
60   - /**
61   - * Download and parse the list of services.
62   - */
  59 + /** Download and parse the list of services. */
63 60 public void acquire() {
64 61 String getServicesQuery = String.format(Queries.SELECT_ALL_TAP_SERVICES_WHERE_CORE,
65 62 ServiceCore.EPNCORE);
66   - acquireVOTable(Consts.DEFAULT_REGISTRY_URL, getServicesQuery, false);
  63 + acquireVOTable(Consts.DEFAULT_REGISTRY_URL, getServicesQuery);
67 64 }
68 65  
69 66 @Override
... ... @@ -77,7 +74,7 @@ public class ServicesPanelCtrl extends VOTableCtrl implements ServicesPanelListe
77 74 }
78 75  
79 76 @Override
80   - public void fillTable() {
  77 + public void displayTable() {
81 78 view.fillTable(voTableData);
82 79 }
83 80  
... ... @@ -129,8 +126,7 @@ public class ServicesPanelCtrl extends VOTableCtrl implements ServicesPanelListe
129 126 }
130 127  
131 128 @Override
132   - public void setWaitCursor(boolean enableWaitcursor) {
133   - int cursor = enableWaitcursor ? Cursor.WAIT_CURSOR : Cursor.DEFAULT_CURSOR;
134   - view.setCursor(Cursor.getPredefinedCursor(cursor));
  129 + public void setWaitMode(boolean enableWaitMode) {
  130 + listener.setWaitMode(enableWaitMode);
135 131 }
136 132 }
... ...