From f2b3914ece0e4d350665f704fab23018fa4ae931 Mon Sep 17 00:00:00 2001 From: Nathanael Jourdane Date: Wed, 10 Feb 2016 16:58:01 +0100 Subject: [PATCH] Add Queries.java, containing usual ADQL queries. --- src/main/java/eu/omp/irap/vespa/epntapclient/utils/Queries.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+), 0 deletions(-) create mode 100644 src/main/java/eu/omp/irap/vespa/epntapclient/utils/Queries.java diff --git a/src/main/java/eu/omp/irap/vespa/epntapclient/utils/Queries.java b/src/main/java/eu/omp/irap/vespa/epntapclient/utils/Queries.java new file mode 100644 index 0000000..1484edc --- /dev/null +++ b/src/main/java/eu/omp/irap/vespa/epntapclient/utils/Queries.java @@ -0,0 +1,46 @@ +/** + * 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.utils; + +/** + * @author N. Jourdane + */ +public class Queries { + + /** Query to get all EPN-TAP services. */ + public static final String GET_EPN_TAP_SERVICES = "SELECT ivoid, short_name, res_title, reference_url, base_role, role_name, " + + "email, intf_index, access_url, standard_id, cap_type, cap_description, " + + "std_version, res_subjects " + + "FROM rr.resource AS res " + + "NATURAL JOIN rr.interface " + + "NATURAL JOIN rr.capability " + + "NATURAL LEFT OUTER JOIN rr.res_role " + + "NATURAL LEFT OUTER JOIN (SELECT ivoid, ivo_string_agg(res_subject, ', ') " + + "AS res_subjects " + + "FROM rr.res_subject GROUP BY ivoid) AS sbj " + + "WHERE (base_role='contact' OR base_role='publisher' OR base_role IS NULL) " + + "AND standard_id='ivo://ivoa.net/std/tap' AND intf_type='vs:paramhttp' " + + "AND ((1=ivo_nocasematch(short_name, '%epn%') " + + "OR 1=ivo_hasword(res_title, 'epn') OR 1=ivo_hasword(res_subjects, 'epn') " + + "OR 1=ivo_nocasematch(ivoid, '%epn%') OR (base_role='publisher' " + + "AND 1=ivo_nocasematch(role_name, '%epn%'))))"; + + /** Query to get all services of the registry. */ + public static final String GET_ALL_SERVICES = "SELECT ivoid, short_name, res_title, res_description, accessurl, ntable " + + "FROM (SELECT ivoid, accessurl, COUNT ( ivoid ) AS ntable FROM glots.services " + + "JOIN glots.tables USING ( ivoid ) GROUP BY ivoid) AS t " + + "JOIN rr.resource USING ( ivoid )"; +} -- libgit2 0.21.2