Commit 4b3a296c62565448031374c8197028e5aaf92a5a
1 parent
1240d52f
Exists in
master
Implement getServices()
Showing
5 changed files
with
36 additions
and
30 deletions
Show diff stats
src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapFacade.java
@@ -17,6 +17,7 @@ | @@ -17,6 +17,7 @@ | ||
17 | package eu.omp.irap.vespa.epntapclient; | 17 | package eu.omp.irap.vespa.epntapclient; |
18 | 18 | ||
19 | import java.text.ParseException; | 19 | import java.text.ParseException; |
20 | +import java.util.ArrayList; | ||
20 | import java.util.List; | 21 | import java.util.List; |
21 | import java.util.Map; | 22 | import java.util.Map; |
22 | import java.util.logging.Logger; | 23 | import java.util.logging.Logger; |
@@ -83,7 +84,7 @@ public class EpnTapFacade implements EpnTapInterface { | @@ -83,7 +84,7 @@ public class EpnTapFacade implements EpnTapInterface { | ||
83 | @Override | 84 | @Override |
84 | public VOTABLE getEPNService(String ivoid, List<String> attributes) | 85 | public VOTABLE getEPNService(String ivoid, List<String> attributes) |
85 | throws CantGetVOTableException { | 86 | throws CantGetVOTableException { |
86 | - // TODO: 2 requêtes pour obtenir tableName et URL = pas super opti. | 87 | + // TODO: optimiser le nombre de requêtes |
87 | String tableName = getEPNCoreTableName(ivoid); | 88 | String tableName = getEPNCoreTableName(ivoid); |
88 | String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes), tableName); | 89 | String query = String.format(Queries.SELECT_FROM, StringJoiner.join(attributes), tableName); |
89 | VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query); | 90 | VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query); |
@@ -94,25 +95,35 @@ public class EpnTapFacade implements EpnTapInterface { | @@ -94,25 +95,35 @@ public class EpnTapFacade implements EpnTapInterface { | ||
94 | // *** Services *** | 95 | // *** Services *** |
95 | 96 | ||
96 | @Override | 97 | @Override |
97 | - public VOTABLE getEPNServices() throws CantGetVOTableException { | ||
98 | - // TODO: CantDisplayVOTableException -> Pas le bon nom d'erreur, le pb n'est pas l'affichage | ||
99 | - String query = String.format(Queries.GET_TAP_SERVICES_WHERE_CORE, ServiceCore.EPNCORE); | ||
100 | - VOTableController ctrl = new VOTableController(Consts.DEFAULT_REGISTRY_URL, query); | ||
101 | - ctrl.readTable(); | ||
102 | - return ctrl.getVOTable(); | 98 | + public List<VOTABLE> getEPNServices() throws VOResourceException { |
99 | + List<VOTABLE> voTables = new ArrayList<>(); | ||
100 | + List<String> ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE); | ||
101 | + // TODO: optimiser le nombre de requêtes | ||
102 | + for (String ivoid : ivoids) { | ||
103 | + try { | ||
104 | + String query = String.format(Queries.SELECT_ALL, getEPNCoreTableName(ivoid)); | ||
105 | + VOTableController ctrl = new VOTableController(getTAPURL(ivoid), query); | ||
106 | + ctrl.readTable(); | ||
107 | + voTables.add(ctrl.getVOTable()); | ||
108 | + } catch (CantGetVOTableException e) { | ||
109 | + logger.info("Can not get the service " + ivoid + ", skipping..."); | ||
110 | + } | ||
111 | + } | ||
112 | + return voTables; | ||
103 | } | 113 | } |
104 | 114 | ||
105 | @Override | 115 | @Override |
106 | - public VOTABLE getEPNServices(List<String> attributes) throws CantGetVOTableException { | 116 | + public List<VOTABLE> getEPNServices(List<String> attributes) |
117 | + throws CantGetVOTableException, VOResourceException { | ||
107 | // TODO process attributes | 118 | // TODO process attributes |
108 | - return getEPNServices(); | 119 | + return null; |
109 | } | 120 | } |
110 | 121 | ||
111 | @Override | 122 | @Override |
112 | - public VOTABLE getEPNServices(Map<String, String> keywords, List<String> attributes) | ||
113 | - throws CantGetVOTableException { | 123 | + public List<VOTABLE> getEPNServices(Map<String, String> keywords, List<String> attributes) |
124 | + throws CantGetVOTableException, VOResourceException { | ||
114 | // TODO process attributes and keywords | 125 | // TODO process attributes and keywords |
115 | - return getEPNServices(); | 126 | + return null; |
116 | } | 127 | } |
117 | 128 | ||
118 | // *** Getters *** | 129 | // *** Getters *** |
src/main/java/eu/omp/irap/vespa/epntapclient/EpnTapInterface.java
@@ -78,7 +78,7 @@ public interface EpnTapInterface { | @@ -78,7 +78,7 @@ public interface EpnTapInterface { | ||
78 | * @throws CantGetXMLException | 78 | * @throws CantGetXMLException |
79 | * @throws CantDisplayVOTableException | 79 | * @throws CantDisplayVOTableException |
80 | */ | 80 | */ |
81 | - public VOTABLE getEPNServices() throws CantGetVOTableException; | 81 | + public List<VOTABLE> getEPNServices() throws CantGetVOTableException, VOResourceException; |
82 | 82 | ||
83 | /** | 83 | /** |
84 | * returns a VOTable containing the list of EPN-TAP services and their attributes (from the list | 84 | * returns a VOTable containing the list of EPN-TAP services and their attributes (from the list |
@@ -87,7 +87,8 @@ public interface EpnTapInterface { | @@ -87,7 +87,8 @@ public interface EpnTapInterface { | ||
87 | * @throws CantGetXMLException | 87 | * @throws CantGetXMLException |
88 | * @throws CantDisplayVOTableException | 88 | * @throws CantDisplayVOTableException |
89 | */ | 89 | */ |
90 | - public VOTABLE getEPNServices(List<String> attributes) throws CantGetVOTableException; | 90 | + public List<VOTABLE> getEPNServices(List<String> attributes) |
91 | + throws CantGetVOTableException, VOResourceException; | ||
91 | 92 | ||
92 | /** | 93 | /** |
93 | * returns a VOTable containing the list of EPN-TAP services corresponding to the keywords and | 94 | * returns a VOTable containing the list of EPN-TAP services corresponding to the keywords and |
@@ -96,8 +97,8 @@ public interface EpnTapInterface { | @@ -96,8 +97,8 @@ public interface EpnTapInterface { | ||
96 | * @throws CantGetXMLException | 97 | * @throws CantGetXMLException |
97 | * @throws CantDisplayVOTableException | 98 | * @throws CantDisplayVOTableException |
98 | */ | 99 | */ |
99 | - public VOTABLE getEPNServices(Map<String, String> keywords, List<String> attributes) | ||
100 | - throws CantGetVOTableException; | 100 | + public List<VOTABLE> getEPNServices(Map<String, String> keywords, List<String> attributes) |
101 | + throws CantGetVOTableException, VOResourceException; | ||
101 | 102 | ||
102 | // *** Getters *** | 103 | // *** Getters *** |
103 | 104 |
src/main/java/eu/omp/irap/vespa/epntapclient/granule/GranuleCtrl.java
@@ -111,7 +111,6 @@ public class GranuleCtrl { | @@ -111,7 +111,6 @@ public class GranuleCtrl { | ||
111 | //@format | 111 | //@format |
112 | 112 | ||
113 | if (!g.isValid()) { | 113 | if (!g.isValid()) { |
114 | - System.out.println(data.getCell(rowId, "polar_radius")); | ||
115 | throw new IllegalArgumentException("One or more EPN parameter is null."); | 114 | throw new IllegalArgumentException("One or more EPN parameter is null."); |
116 | } | 115 | } |
117 | return g; | 116 | return g; |
src/main/java/eu/omp/irap/vespa/epntapclient/service/Queries.java
@@ -70,6 +70,9 @@ public final class Queries { | @@ -70,6 +70,9 @@ public final class Queries { | ||
70 | public static final String SELECT_FROM = | 70 | public static final String SELECT_FROM = |
71 | "SELECT %s FROM %s"; | 71 | "SELECT %s FROM %s"; |
72 | 72 | ||
73 | + public static final String SELECT_ALL = | ||
74 | + "SELECT * FROM %s"; | ||
75 | + | ||
73 | //@format | 76 | //@format |
74 | 77 | ||
75 | /** Constructor to hide the implicit public one. */ | 78 | /** Constructor to hide the implicit public one. */ |
src/test/java/eu/omp/irap/vespa/epntapclient/TestEpnTapFacade.java
@@ -23,7 +23,6 @@ import java.util.Map; | @@ -23,7 +23,6 @@ import java.util.Map; | ||
23 | import java.util.logging.Logger; | 23 | import java.util.logging.Logger; |
24 | 24 | ||
25 | import eu.omp.irap.vespa.epntapclient.granule.Granule; | 25 | import eu.omp.irap.vespa.epntapclient.granule.Granule; |
26 | -import eu.omp.irap.vespa.epntapclient.service.ServiceCore; | ||
27 | import eu.omp.irap.vespa.epntapclient.voresource.VOResourceCtrl; | 26 | import eu.omp.irap.vespa.epntapclient.voresource.VOResourceCtrl; |
28 | import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException; | 27 | import eu.omp.irap.vespa.epntapclient.voresource.VOResourceException; |
29 | import eu.omp.irap.vespa.epntapclient.voresource.model.Resource; | 28 | import eu.omp.irap.vespa.epntapclient.voresource.model.Resource; |
@@ -65,8 +64,6 @@ public class TestEpnTapFacade { | @@ -65,8 +64,6 @@ public class TestEpnTapFacade { | ||
65 | String strKeywords = "[shortName=IKS]"; | 64 | String strKeywords = "[shortName=IKS]"; |
66 | 65 | ||
67 | try { | 66 | try { |
68 | - facade.getEPNServices(); | ||
69 | - | ||
70 | System.out.println("\n*** 1. Resource ***\n"); | 67 | System.out.println("\n*** 1. Resource ***\n"); |
71 | 68 | ||
72 | Resource resource = VOResourceCtrl.getVOresource(TEST_RESOURCE_IVOID); | 69 | Resource resource = VOResourceCtrl.getVOresource(TEST_RESOURCE_IVOID); |
@@ -75,10 +72,6 @@ public class TestEpnTapFacade { | @@ -75,10 +72,6 @@ public class TestEpnTapFacade { | ||
75 | 72 | ||
76 | System.out.println("\n*** 2. Resources ***\n"); | 73 | System.out.println("\n*** 2. Resources ***\n"); |
77 | 74 | ||
78 | - List<String> ivoids = VOResourceCtrl.getIvoidResources(ServiceCore.EPNCORE); | ||
79 | - System.out.println("2.0 getIvoidResources(ServiceCore.EPNCORE)\n\t" + | ||
80 | - StringJoiner.join(ivoids)); | ||
81 | - | ||
82 | List<Resource> resources = facade.getEPNVOResources(); | 75 | List<Resource> resources = facade.getEPNVOResources(); |
83 | System.out.println("2.1 getEPNVOResources()\n\t" | 76 | System.out.println("2.1 getEPNVOResources()\n\t" |
84 | + Debug.toJson(resources)); | 77 | + Debug.toJson(resources)); |
@@ -100,16 +93,15 @@ public class TestEpnTapFacade { | @@ -100,16 +93,15 @@ public class TestEpnTapFacade { | ||
100 | 93 | ||
101 | System.out.println("\n*** 4. Services ***\n"); | 94 | System.out.println("\n*** 4. Services ***\n"); |
102 | 95 | ||
103 | - VOTABLE epnServices = facade.getEPNServices(); | 96 | + List<VOTABLE> epnServices = facade.getEPNServices(); |
104 | System.out.println("4.1 getEPNServices()\n\t" | 97 | System.out.println("4.1 getEPNServices()\n\t" |
105 | + Debug.toJson(epnServices)); | 98 | + Debug.toJson(epnServices)); |
106 | 99 | ||
107 | - VOTABLE epnServices2 = facade.getEPNServices(SERVICE_ATTRIBUTES); | ||
108 | - System.out.println( | ||
109 | - "4.2 getEPNServices(" + strServiceAttributes + ")\n\t" | ||
110 | - + Debug.toJson(epnServices2)); | 100 | + List<VOTABLE> epnServices2 = facade.getEPNServices(SERVICE_ATTRIBUTES); |
101 | + System.out.println("4.2 getEPNServices(" + strServiceAttributes + ")\n\t" | ||
102 | + + Debug.toJson(epnServices2)); | ||
111 | 103 | ||
112 | - VOTABLE epnServices3 = facade.getEPNServices(KEYWORDS, SERVICE_ATTRIBUTES); | 104 | + List<VOTABLE> epnServices3 = facade.getEPNServices(KEYWORDS, SERVICE_ATTRIBUTES); |
113 | System.out.println("4.3 getEPNServices(" + strKeywords + ", " | 105 | System.out.println("4.3 getEPNServices(" + strKeywords + ", " |
114 | + strServiceAttributes + ")\n\t" | 106 | + strServiceAttributes + ")\n\t" |
115 | + Debug.toJson(epnServices3)); | 107 | + Debug.toJson(epnServices3)); |