Blame view

src/main/java/eu/omp/irap/vespa/epntapclient/utils/Queries.java 2.38 KB
eb1414bb   Nathanael Jourdane   Minor style modif...
1
/*
f2b3914e   Nathanael Jourdane   Add Queries.java,...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 * 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
 * <http://www.gnu.org/licenses/>.
 */
eb1414bb   Nathanael Jourdane   Minor style modif...
16

f2b3914e   Nathanael Jourdane   Add Queries.java,...
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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 )";
}