diff --git a/src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapConnection.java b/src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapConnection.java
new file mode 100644
index 0000000..504fbb6
--- /dev/null
+++ b/src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapConnection.java
@@ -0,0 +1,203 @@
+/*
+ * This file is a part of EpnTAPClient.
+ * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
+ * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
+ * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
+ *
+ * This program is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+ * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
+ * the GNU General Public License along with this program. If not, see
+ * .
+ */
+
+package eu.omp.irap.vespa.epntapclient;
+
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import eu.omp.irap.vespa.epntapclient.granule.Granule;
+import eu.omp.irap.vespa.epntapclient.granule.GranuleCtrl;
+import eu.omp.irap.vespa.epntapclient.service.Queries;
+import eu.omp.irap.vespa.epntapclient.service.Service;
+import eu.omp.irap.vespa.epntapclient.service.ServiceCore;
+import eu.omp.irap.vespa.epntapclient.service.ServiceCtrl;
+import eu.omp.irap.vespa.epntapclient.voresource.VOResourceCtrl;
+import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException;
+import eu.omp.irap.vespa.epntapclient.voresource.model.Resource;
+import eu.omp.irap.vespa.epntapclient.votable.model.VOTABLE;
+import eu.omp.irap.vespa.votable.Consts;
+import eu.omp.irap.vespa.votable.controller.CantGetVOTableException;
+import eu.omp.irap.vespa.votable.controller.VOTableController;
+import eu.omp.irap.vespa.votable.utils.StringJoiner;
+import eu.omp.irap.vespa.votable.votabledata.VOTableData;
+
+/**
+ * @author N. Jourdane
+ */
+public class EpnTapConnection implements EpnTapInterface {
+
+ /** The logger for the class EpnTapFacade. */
+ private static final Logger logger = Logger.getLogger(EpnTapConnection.class.getName());
+
+
+ // *** Resource ***
+
+ @Override
+ public Resource getEPNVOresource(String ivoid) throws VOResourceException {
+ return VOResourceCtrl.getVOresource(ivoid);
+ }
+
+ // *** Resources ***
+
+ @Override
+ public List getEPNVOResources() throws VOResourceException {
+ return VOResourceCtrl.getVOResources(ServiceCore.EPNCORE);
+ }
+
+ @Override
+ public List getEPNVOResources(Map keywords)
+ throws VOResourceException {
+ return VOResourceCtrl.getVOResources(ServiceCore.EPNCORE, keywords);
+ }
+
+ // *** Service ***
+
+ public Service _getEPNService(String ivoid) throws CantGetVOTableException {
+ return ServiceCtrl.getServiceFromIvoid(ivoid);
+ }
+
+ @Override
+ public VOTABLE getEPNService(String ivoid) throws CantGetVOTableException {
+ String query = String.format(Queries.GET_TAP_SERVICES_WHERE_IVOID, ivoid);
+ VOTableController ctrl = new VOTableController(Consts.DEFAULT_REGISTRY_URL, query);
+ ctrl.readTable();
+ return ctrl.getVOTable();
+ }
+
+ @Override
+ public VOTABLE getEPNService(String ivoid, List attributes)
+ throws CantGetVOTableException {
+ // TODO: optimiser le nombre de requêtes
+ String tableName = getEPNCoreTableName(ivoid);
+ String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes), tableName);
+ VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
+ ctrl.readTable();
+ return ctrl.getVOTable();
+ }
+
+ // *** Services ***
+
+ @Override
+ public List getEPNServices() throws VOResourceException {
+ List voTables = new ArrayList<>();
+ List ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE);
+ // TODO: optimiser le nombre de requêtes
+ for (String ivoid : ivoids) {
+ try {
+ String query = String.format(Queries.SELECT_ALL, getEPNCoreTableName(ivoid));
+ VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
+ ctrl.readTable();
+ voTables.add(ctrl.getVOTable());
+ } catch (CantGetVOTableException e) {
+ logger.info("Can not get the service " + ivoid + ", skipping...");
+ }
+ }
+ return voTables;
+ }
+
+ @Override
+ public List getEPNServices(List attributes)
+ throws CantGetVOTableException, VOResourceException {
+ List voTables = new ArrayList<>();
+ List ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE);
+ // TODO: optimiser le nombre de requêtes
+ for (String ivoid : ivoids) {
+ try {
+ String tableName = getEPNCoreTableName(ivoid);
+ String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes),
+ tableName);
+ VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
+ ctrl.readTable();
+ voTables.add(ctrl.getVOTable());
+ } catch (CantGetVOTableException e) {
+ logger.info("Can not get the service " + ivoid + ", skipping...");
+ }
+ }
+ return voTables;
+ }
+
+ @Override
+ public List getEPNServices(Map keywords, List attributes)
+ throws CantGetVOTableException, VOResourceException {
+ List voTables = new ArrayList<>();
+ List ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE, keywords);
+ // TODO: optimiser le nombre de requêtes
+ for (String ivoid : ivoids) {
+ try {
+ String tableName = getEPNCoreTableName(ivoid);
+ String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes),
+ tableName);
+ VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
+ ctrl.readTable();
+ voTables.add(ctrl.getVOTable());
+ } catch (CantGetVOTableException e) {
+ logger.info("Can not get the service " + ivoid + ", skipping...");
+ }
+ }
+ return voTables;
+ }
+
+ // *** Getters ***
+
+ @Override
+ public String getEPNCoreTableName(String ivoid)
+ throws CantGetVOTableException {
+ String query = String.format(Queries.GET_TAP_SERVICES_SELECT_WHERE_IVOID, "table_name",
+ ivoid);
+ VOTableController ctrl = new VOTableController(Consts.DEFAULT_REGISTRY_URL, query);
+ ctrl.readTable();
+ return (String) ctrl.getVOTableData().getCell(0, 0);
+ }
+
+ @Override
+ public String getTAPURL(String ivoid)
+ throws CantGetVOTableException {
+ String query = String.format(Queries.GET_TAP_SERVICES_SELECT_WHERE_IVOID, "access_url",
+ ivoid);
+ VOTableController ctrl = new VOTableController(Consts.DEFAULT_REGISTRY_URL, query);
+ ctrl.readTable();
+ return (String) ctrl.getVOTableData().getCell(0, 0);
+ }
+
+ // *** Queries ***
+
+ @Override
+ public List sendADQLQuery(String tapURL, String adqlQuery)
+ throws CantGetVOTableException {
+ EpnTapController epnTapCtrl = new EpnTapController();
+ epnTapCtrl.sendQuery(adqlQuery, tapURL);
+ VOTableData data = epnTapCtrl.getResultsController().getVOTableData();
+ List granules;
+ try {
+ GranuleCtrl gc = new GranuleCtrl(data);
+ granules = gc.getGranulesFromVOTable();
+ } catch (ParseException e) {
+ throw new CantGetVOTableException("Parsing error on a granule.", e);
+ }
+ return granules;
+ }
+
+ @Override
+ public List sendQuery(String tapURL, String schemaName, String query) {
+ // TODO TBC
+ return null;
+ }
+
+}
diff --git a/src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapFacade.java b/src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapFacade.java
deleted file mode 100644
index 3f37218..0000000
--- a/src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapFacade.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * This file is a part of EpnTAPClient.
- * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
- * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
- * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
- *
- * This program is free software: you can
- * redistribute it and/or modify it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
- * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
- * the GNU General Public License along with this program. If not, see
- * .
- */
-
-package eu.omp.irap.vespa.epntapclient;
-
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import eu.omp.irap.vespa.epntapclient.granule.Granule;
-import eu.omp.irap.vespa.epntapclient.granule.GranuleCtrl;
-import eu.omp.irap.vespa.epntapclient.service.Queries;
-import eu.omp.irap.vespa.epntapclient.service.Service;
-import eu.omp.irap.vespa.epntapclient.service.ServiceCore;
-import eu.omp.irap.vespa.epntapclient.service.ServiceCtrl;
-import eu.omp.irap.vespa.epntapclient.voresource.VOResourceCtrl;
-import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException;
-import eu.omp.irap.vespa.epntapclient.voresource.model.Resource;
-import eu.omp.irap.vespa.epntapclient.votable.model.VOTABLE;
-import eu.omp.irap.vespa.votable.Consts;
-import eu.omp.irap.vespa.votable.controller.CantGetVOTableException;
-import eu.omp.irap.vespa.votable.controller.VOTableController;
-import eu.omp.irap.vespa.votable.utils.StringJoiner;
-import eu.omp.irap.vespa.votable.votabledata.VOTableData;
-
-/**
- * @author N. Jourdane
- */
-public class EpnTapFacade implements EpnTapInterface {
-
- /** The logger for the class EpnTapFacade. */
- private static final Logger logger = Logger.getLogger(EpnTapFacade.class.getName());
-
-
- // *** Resource ***
-
- @Override
- public Resource getEPNVOresource(String ivoid) throws VOResourceException {
- return VOResourceCtrl.getVOresource(ivoid);
- }
-
- // *** Resources ***
-
- @Override
- public List getEPNVOResources() throws VOResourceException {
- return VOResourceCtrl.getVOResources(ServiceCore.EPNCORE);
- }
-
- @Override
- public List getEPNVOResources(Map keywords)
- throws VOResourceException {
- return VOResourceCtrl.getVOResources(ServiceCore.EPNCORE, keywords);
- }
-
- // *** Service ***
-
- public Service _getEPNService(String ivoid) throws CantGetVOTableException {
- return ServiceCtrl.getServiceFromIvoid(ivoid);
- }
-
- @Override
- public VOTABLE getEPNService(String ivoid) throws CantGetVOTableException {
- String query = String.format(Queries.GET_TAP_SERVICES_WHERE_IVOID, ivoid);
- VOTableController ctrl = new VOTableController(Consts.DEFAULT_REGISTRY_URL, query);
- ctrl.readTable();
- return ctrl.getVOTable();
- }
-
- @Override
- public VOTABLE getEPNService(String ivoid, List attributes)
- throws CantGetVOTableException {
- // TODO: optimiser le nombre de requêtes
- String tableName = getEPNCoreTableName(ivoid);
- String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes), tableName);
- VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
- ctrl.readTable();
- return ctrl.getVOTable();
- }
-
- // *** Services ***
-
- @Override
- public List getEPNServices() throws VOResourceException {
- List voTables = new ArrayList<>();
- List ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE);
- // TODO: optimiser le nombre de requêtes
- for (String ivoid : ivoids) {
- try {
- String query = String.format(Queries.SELECT_ALL, getEPNCoreTableName(ivoid));
- VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
- ctrl.readTable();
- voTables.add(ctrl.getVOTable());
- } catch (CantGetVOTableException e) {
- logger.info("Can not get the service " + ivoid + ", skipping...");
- }
- }
- return voTables;
- }
-
- @Override
- public List getEPNServices(List attributes)
- throws CantGetVOTableException, VOResourceException {
- List voTables = new ArrayList<>();
- List ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE);
- // TODO: optimiser le nombre de requêtes
- for (String ivoid : ivoids) {
- try {
- String tableName = getEPNCoreTableName(ivoid);
- String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes),
- tableName);
- VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
- ctrl.readTable();
- voTables.add(ctrl.getVOTable());
- } catch (CantGetVOTableException e) {
- logger.info("Can not get the service " + ivoid + ", skipping...");
- }
- }
- return voTables;
- }
-
- @Override
- public List getEPNServices(Map keywords, List attributes)
- throws CantGetVOTableException, VOResourceException {
- List voTables = new ArrayList<>();
- List ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE, keywords);
- // TODO: optimiser le nombre de requêtes
- for (String ivoid : ivoids) {
- try {
- String tableName = getEPNCoreTableName(ivoid);
- String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes),
- tableName);
- VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query);
- ctrl.readTable();
- voTables.add(ctrl.getVOTable());
- } catch (CantGetVOTableException e) {
- logger.info("Can not get the service " + ivoid + ", skipping...");
- }
- }
- return voTables;
- }
-
- // *** Getters ***
-
- @Override
- public String getEPNCoreTableName(String ivoid)
- throws CantGetVOTableException {
- String query = String.format(Queries.GET_TAP_SERVICES_SELECT_WHERE_IVOID, "table_name",
- ivoid);
- VOTableController ctrl = new VOTableController(Consts.DEFAULT_REGISTRY_URL, query);
- ctrl.readTable();
- return (String) ctrl.getVOTableData().getCell(0, 0);
- }
-
- @Override
- public String getTAPURL(String ivoid)
- throws CantGetVOTableException {
- String query = String.format(Queries.GET_TAP_SERVICES_SELECT_WHERE_IVOID, "access_url",
- ivoid);
- VOTableController ctrl = new VOTableController(Consts.DEFAULT_REGISTRY_URL, query);
- ctrl.readTable();
- return (String) ctrl.getVOTableData().getCell(0, 0);
- }
-
- // *** Queries ***
-
- @Override
- public List sendADQLQuery(String tapURL, String adqlQuery)
- throws CantGetVOTableException {
- EpnTapController epnTapCtrl = new EpnTapController();
- epnTapCtrl.sendQuery(adqlQuery, tapURL);
- VOTableData data = epnTapCtrl.getResultsController().getVOTableData();
- List granules;
- try {
- GranuleCtrl gc = new GranuleCtrl(data);
- granules = gc.getGranulesFromVOTable();
- } catch (ParseException e) {
- throw new CantGetVOTableException("Parsing error on a granule.", e);
- }
- return granules;
- }
-
- @Override
- public List sendQuery(String tapURL, String schemaName, String query) {
- // TODO TBC
- return null;
- }
-
-}
diff --git a/src/test/java/eu/omp/irap/vespa/epntapclient/TestEpnTapConnection.java b/src/test/java/eu/omp/irap/vespa/epntapclient/TestEpnTapConnection.java
new file mode 100644
index 0000000..c4d58f4
--- /dev/null
+++ b/src/test/java/eu/omp/irap/vespa/epntapclient/TestEpnTapConnection.java
@@ -0,0 +1,132 @@
+/*
+ * This file is a part of EpnTAPClient.
+ * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
+ * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
+ * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
+ *
+ * This program is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+ * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
+ * the GNU General Public License along with this program. If not, see
+ * .
+ */
+
+package eu.omp.irap.vespa.epntapclient;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import eu.omp.irap.vespa.epntapclient.granule.Granule;
+import eu.omp.irap.vespa.epntapclient.voresource.VOResourceCtrl;
+import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException;
+import eu.omp.irap.vespa.epntapclient.voresource.model.Resource;
+import eu.omp.irap.vespa.epntapclient.votable.model.VOTABLE;
+import eu.omp.irap.vespa.votable.controller.CantGetVOTableException;
+import eu.omp.irap.vespa.votable.utils.Debug;
+import eu.omp.irap.vespa.votable.utils.StringJoiner;
+
+/**
+ * @author N. Jourdane
+ */
+public class TestEpnTapConnection {
+
+ /** The logger for the class Main. */
+ private static final Logger logger = Logger.getLogger(TestEpnTapConnection.class.getName());
+
+ private static final String TEST_SERVICE_IVOID = "ivo://cdpp/amda";
+
+ private static final String TEST_SERVICE_URL = "http://voparis-tap-planeto.obspm.fr/__system__/tap/run/tap";
+
+ private static final String TEST_RESOURCE_IVOID = "ivo://vopdc.obspm/lesia/basecom/epn";
+
+ private static final String TEST_ADQL_QUERY = "SELECT TOP 1 * FROM planets.epn_core";
+
+ private static final String TEST_SCHEMA_NAME = "epn_core";
+
+
+ public static void main(String[] args) {
+ EpnTapConnection facade = new EpnTapConnection();
+
+ final List SERVICE_ATTRIBUTES = new ArrayList<>();
+ SERVICE_ATTRIBUTES.add("target_name");
+ SERVICE_ATTRIBUTES.add("time_min");
+ SERVICE_ATTRIBUTES.add("time_max");
+ String strServiceAttributes = "[" + StringJoiner.join(SERVICE_ATTRIBUTES) + "]";
+
+ final Map KEYWORDS = new HashMap<>();
+ KEYWORDS.put("shortName", "IKS");
+ String strKeywords = "[shortName=IKS]";
+
+ try {
+ System.out.println("\n*** 1. Resource ***\n");
+
+ Resource resource = VOResourceCtrl.getVOresource(TEST_RESOURCE_IVOID);
+ System.out.println("1.1 getVOresource(\"" + TEST_RESOURCE_IVOID + "\")\n\t"
+ + Debug.toJson(resource));
+
+ System.out.println("\n*** 2. Resources ***\n");
+
+ List resources = facade.getEPNVOResources();
+ System.out.println("2.1 getEPNVOResources()\n\t"
+ + Debug.toJson(resources));
+
+ List resources2 = facade.getEPNVOResources(KEYWORDS);
+ System.out.println("2.2 getEPNVOResources(" + strKeywords + ")\n\t"
+ + Debug.toJson(resources2));
+
+ System.out.println("\n*** 3. Service ***\n");
+
+ VOTABLE epnService = facade.getEPNService(TEST_SERVICE_IVOID);
+ System.out.println("3.1 getEPNService(\"" + TEST_SERVICE_IVOID + "\")\n\t"
+ + Debug.toJson(epnService));
+
+ VOTABLE epnService2 = facade.getEPNService(TEST_SERVICE_IVOID, SERVICE_ATTRIBUTES);
+ System.out.println("3.2 getEPNService(\"" + TEST_SERVICE_IVOID + "\", "
+ + strServiceAttributes + ")\n\t"
+ + Debug.toJson(epnService2));
+
+ System.out.println("\n*** 4. Services ***\n");
+
+ List epnServices = facade.getEPNServices();
+ System.out.println("4.1 getEPNServices()\n\t");
+
+ List epnServices2 = facade.getEPNServices(SERVICE_ATTRIBUTES);
+ System.out.println("4.2 getEPNServices(" + strServiceAttributes + ")\n\t");
+
+ List epnServices3 = facade.getEPNServices(KEYWORDS, SERVICE_ATTRIBUTES);
+ System.out.println("4.3 getEPNServices(" + strKeywords + ", "
+ + strServiceAttributes + ")\n\t");
+
+ System.out.println("\n*** 5. Getters***\n");
+
+ String epnCoreTableName = facade.getEPNCoreTableName(TEST_SERVICE_IVOID);
+ System.out.println("5.1 getEPNCoreTableName(\"" + TEST_SERVICE_IVOID + "\")\n\t"
+ + epnCoreTableName);
+
+ String tapURL = facade.getTAPURL(TEST_SERVICE_IVOID);
+ System.out.println("5.2 getTAPURL(\"" + TEST_SERVICE_IVOID + "\")\n\t" + tapURL);
+
+ System.out.println("\n*** 6. Queries ***\n");
+
+ List granules = facade.sendADQLQuery(TEST_SERVICE_URL, TEST_ADQL_QUERY);
+ System.out.println("6.1 sendADQLQuery(\"" + TEST_SERVICE_URL + "\", \""
+ + TEST_ADQL_QUERY + "\")\n\t"
+ + Debug.toJson(granules));
+
+ List granules2 = facade.sendQuery(TEST_SERVICE_URL, TEST_SCHEMA_NAME,
+ TEST_ADQL_QUERY);
+ System.out.println("6.2 sendQuery(\"" + TEST_SERVICE_URL + "\", \""
+ + TEST_SCHEMA_NAME + "\", \"" + TEST_ADQL_QUERY + "\")\n\t"
+ + Debug.toJson(granules2));
+
+ } catch (CantGetVOTableException | VOResourceException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/test/java/eu/omp/irap/vespa/epntapclient/TestEpnTapFacade.java b/src/test/java/eu/omp/irap/vespa/epntapclient/TestEpnTapFacade.java
deleted file mode 100644
index 37fc191..0000000
--- a/src/test/java/eu/omp/irap/vespa/epntapclient/TestEpnTapFacade.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * This file is a part of EpnTAPClient.
- * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
- * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
- * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
- *
- * This program is free software: you can
- * redistribute it and/or modify it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
- * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
- * the GNU General Public License along with this program. If not, see
- * .
- */
-
-package eu.omp.irap.vespa.epntapclient;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import eu.omp.irap.vespa.epntapclient.granule.Granule;
-import eu.omp.irap.vespa.epntapclient.voresource.VOResourceCtrl;
-import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException;
-import eu.omp.irap.vespa.epntapclient.voresource.model.Resource;
-import eu.omp.irap.vespa.epntapclient.votable.model.VOTABLE;
-import eu.omp.irap.vespa.votable.controller.CantGetVOTableException;
-import eu.omp.irap.vespa.votable.utils.Debug;
-import eu.omp.irap.vespa.votable.utils.StringJoiner;
-
-/**
- * @author N. Jourdane
- */
-public class TestEpnTapFacade {
-
- /** The logger for the class Main. */
- private static final Logger logger = Logger.getLogger(TestEpnTapFacade.class.getName());
-
- private static final String TEST_SERVICE_IVOID = "ivo://cdpp/amda";
-
- private static final String TEST_SERVICE_URL = "http://voparis-tap-planeto.obspm.fr/__system__/tap/run/tap";
-
- private static final String TEST_RESOURCE_IVOID = "ivo://vopdc.obspm/lesia/basecom/epn";
-
- private static final String TEST_ADQL_QUERY = "SELECT TOP 1 * FROM planets.epn_core";
-
- private static final String TEST_SCHEMA_NAME = "epn_core";
-
-
- public static void main(String[] args) {
- EpnTapFacade facade = new EpnTapFacade();
-
- final List SERVICE_ATTRIBUTES = new ArrayList<>();
- SERVICE_ATTRIBUTES.add("target_name");
- SERVICE_ATTRIBUTES.add("time_min");
- SERVICE_ATTRIBUTES.add("time_max");
- String strServiceAttributes = "[" + StringJoiner.join(SERVICE_ATTRIBUTES) + "]";
-
- final Map KEYWORDS = new HashMap<>();
- KEYWORDS.put("shortName", "IKS");
- String strKeywords = "[shortName=IKS]";
-
- try {
- System.out.println("\n*** 1. Resource ***\n");
-
- Resource resource = VOResourceCtrl.getVOresource(TEST_RESOURCE_IVOID);
- System.out.println("1.1 getVOresource(\"" + TEST_RESOURCE_IVOID + "\")\n\t"
- + Debug.toJson(resource));
-
- System.out.println("\n*** 2. Resources ***\n");
-
- List resources = facade.getEPNVOResources();
- System.out.println("2.1 getEPNVOResources()\n\t"
- + Debug.toJson(resources));
-
- List resources2 = facade.getEPNVOResources(KEYWORDS);
- System.out.println("2.2 getEPNVOResources(" + strKeywords + ")\n\t"
- + Debug.toJson(resources2));
-
- System.out.println("\n*** 3. Service ***\n");
-
- VOTABLE epnService = facade.getEPNService(TEST_SERVICE_IVOID);
- System.out.println("3.1 getEPNService(\"" + TEST_SERVICE_IVOID + "\")\n\t"
- + Debug.toJson(epnService));
-
- VOTABLE epnService2 = facade.getEPNService(TEST_SERVICE_IVOID, SERVICE_ATTRIBUTES);
- System.out.println("3.2 getEPNService(\"" + TEST_SERVICE_IVOID + "\", "
- + strServiceAttributes + ")\n\t"
- + Debug.toJson(epnService2));
-
- System.out.println("\n*** 4. Services ***\n");
-
- List epnServices = facade.getEPNServices();
- System.out.println("4.1 getEPNServices()\n\t");
-
- List epnServices2 = facade.getEPNServices(SERVICE_ATTRIBUTES);
- System.out.println("4.2 getEPNServices(" + strServiceAttributes + ")\n\t");
-
- List epnServices3 = facade.getEPNServices(KEYWORDS, SERVICE_ATTRIBUTES);
- System.out.println("4.3 getEPNServices(" + strKeywords + ", "
- + strServiceAttributes + ")\n\t");
-
- System.out.println("\n*** 5. Getters***\n");
-
- String epnCoreTableName = facade.getEPNCoreTableName(TEST_SERVICE_IVOID);
- System.out.println("5.1 getEPNCoreTableName(\"" + TEST_SERVICE_IVOID + "\")\n\t"
- + epnCoreTableName);
-
- String tapURL = facade.getTAPURL(TEST_SERVICE_IVOID);
- System.out.println("5.2 getTAPURL(\"" + TEST_SERVICE_IVOID + "\")\n\t" + tapURL);
-
- System.out.println("\n*** 6. Queries ***\n");
-
- List granules = facade.sendADQLQuery(TEST_SERVICE_URL, TEST_ADQL_QUERY);
- System.out.println("6.1 sendADQLQuery(\"" + TEST_SERVICE_URL + "\", \""
- + TEST_ADQL_QUERY + "\")\n\t"
- + Debug.toJson(granules));
-
- List granules2 = facade.sendQuery(TEST_SERVICE_URL, TEST_SCHEMA_NAME,
- TEST_ADQL_QUERY);
- System.out.println("6.2 sendQuery(\"" + TEST_SERVICE_URL + "\", \""
- + TEST_SCHEMA_NAME + "\", \"" + TEST_ADQL_QUERY + "\")\n\t"
- + Debug.toJson(granules2));
-
- } catch (CantGetVOTableException | VOResourceException e) {
- e.printStackTrace();
- }
- }
-}
--
libgit2 0.21.2