/* * 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(); } } }