Commit 94e1b3b56d68214e390711785b048e58f6a3e1fb
1 parent
4bcbd19f
Exists in
master
VOResouceCtrl now need a service type.
Showing
1 changed file
with
37 additions
and
39 deletions
Show diff stats
src/main/java/eu/omp/irap/vespa/epntapclient/lib/resource/VOResourceCtrl.java
... | ... | @@ -38,10 +38,11 @@ import com.google.gson.stream.JsonReader; |
38 | 38 | import eu.omp.irap.vespa.epntapclient.lib.resource.VOResourceException.CantGetVOResourceException; |
39 | 39 | import eu.omp.irap.vespa.epntapclient.lib.resource.VOResourceException.CantReadVOResourceException; |
40 | 40 | import eu.omp.irap.vespa.epntapclient.lib.resource.VOResourceException.VOResourceIsNotValidException; |
41 | +import eu.omp.irap.vespa.epntapclient.service.Service.ServiceType; | |
41 | 42 | import eu.omp.irap.vespa.epntapclient.voresource.model.Resource; |
42 | -import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.CantSendQueryException; | |
43 | +import eu.omp.irap.vespa.epntapclient.votable.VOTableException.CantSendQueryException; | |
43 | 44 | import eu.omp.irap.vespa.epntapclient.votable.utils.Network; |
44 | -import eu.omp.irap.vespa.epntapclient.votable.utils.Strings.StringJoiner; | |
45 | +import eu.omp.irap.vespa.epntapclient.votable.utils.StringJoiner; | |
45 | 46 | |
46 | 47 | /** |
47 | 48 | * @author N. Jourdane |
... | ... | @@ -59,18 +60,45 @@ public class VOResourceCtrl { |
59 | 60 | |
60 | 61 | private static final int MAX_VORESOURCES = 100; |
61 | 62 | |
62 | - private static final String VORESOURCES_STANDARDID = "ivo://ivoa.net/std/TAP"; | |
63 | 63 | |
64 | - private static final String VORESOURCES_DATAMODEL = "EpnCore"; | |
64 | + public static List<Resource> getVOResources(ServiceType type, Map<String, String> keywords) | |
65 | + throws VOResourceException { | |
66 | + return VOResourceCtrl | |
67 | + .getVOResourcesFromIvoids(VOResourceCtrl.getIvoidResources(type, keywords)); | |
68 | + } | |
65 | 69 | |
70 | + public static List<Resource> getVOResources(ServiceType type) throws VOResourceException { | |
71 | + return VOResourceCtrl.getVOResourcesFromIvoids(VOResourceCtrl.getIvoidResources(type)); | |
72 | + } | |
66 | 73 | |
67 | - public static List<Resource> getVOResources(Map<String, String> keywords) | |
68 | - throws VOResourceException { | |
69 | - return VOResourceCtrl.getVOResourcesFromIvoids(VOResourceCtrl.getIvoidResources(keywords)); | |
74 | + public static List<String> getIvoidResources(ServiceType type) throws VOResourceException { | |
75 | + return VOResourceCtrl.getIvoidResources(type, new HashMap()); | |
70 | 76 | } |
71 | 77 | |
72 | - public static List<Resource> getVOResources() throws VOResourceException { | |
73 | - return VOResourceCtrl.getVOResourcesFromIvoids(VOResourceCtrl.getIvoidResources()); | |
78 | + public static List<String> getIvoidResources(ServiceType type, Map<String, String> keywords) | |
79 | + throws VOResourceException { | |
80 | + List<String> ivoidResources; | |
81 | + | |
82 | + keywords.put("datamodel", type.toString()); | |
83 | + // standardid="ivo://ivoa.net/std/TAP" is not necessary | |
84 | + | |
85 | + StringJoiner keywordJoiner = new StringJoiner(" "); | |
86 | + for (Map.Entry<String, String> keyword : keywords.entrySet()) { | |
87 | + keywordJoiner.add(keyword.getKey() + ":\"" + keyword.getValue() + "\""); | |
88 | + } | |
89 | + | |
90 | + Map<String, String> parameters = new HashMap(); | |
91 | + parameters.put("keywords", keywordJoiner.toString()); | |
92 | + parameters.put("max", String.valueOf(VOResourceCtrl.MAX_VORESOURCES)); | |
93 | + try { | |
94 | + String ivoidResourcesPath = Network.saveQuery(VOResourceCtrl.GET_VORESOURCE_URL, | |
95 | + parameters); | |
96 | + ivoidResources = VOResourceCtrl.parseIvoidResources(ivoidResourcesPath); | |
97 | + } catch (CantSendQueryException e1) { | |
98 | + throw new CantGetVOResourceException(VOResourceCtrl.GET_VORESOURCE_URL, e1); | |
99 | + // TODO: pass the entire request. | |
100 | + } | |
101 | + return ivoidResources; | |
74 | 102 | } |
75 | 103 | |
76 | 104 | public static Resource getVOresource(String identifier) throws VOResourceException { |
... | ... | @@ -105,36 +133,6 @@ public class VOResourceCtrl { |
105 | 133 | return resources; |
106 | 134 | } |
107 | 135 | |
108 | - public static List<String> getIvoidResources() throws VOResourceException { | |
109 | - return VOResourceCtrl.getIvoidResources(new HashMap()); | |
110 | - } | |
111 | - | |
112 | - public static List<String> getIvoidResources(Map<String, String> keywords) | |
113 | - throws VOResourceException { | |
114 | - List<String> ivoidResources; | |
115 | - | |
116 | - keywords.put("standardid", VOResourceCtrl.VORESOURCES_STANDARDID); | |
117 | - keywords.put("datamodel", VOResourceCtrl.VORESOURCES_DATAMODEL); | |
118 | - | |
119 | - StringJoiner keywordJoiner = new StringJoiner(" "); | |
120 | - for (Map.Entry<String, String> keyword : keywords.entrySet()) { | |
121 | - keywordJoiner.add(keyword.getKey() + ":\"" + keyword.getValue() + "\""); | |
122 | - } | |
123 | - | |
124 | - Map<String, String> parameters = new HashMap(); | |
125 | - parameters.put("keywords", keywordJoiner.toString()); | |
126 | - parameters.put("max", String.valueOf(VOResourceCtrl.MAX_VORESOURCES)); | |
127 | - try { | |
128 | - String ivoidResourcesPath = Network.saveQuery(VOResourceCtrl.GET_VORESOURCE_URL, | |
129 | - parameters); | |
130 | - ivoidResources = VOResourceCtrl.parseIvoidResources(ivoidResourcesPath); | |
131 | - } catch (CantSendQueryException e1) { | |
132 | - throw new CantGetVOResourceException(VOResourceCtrl.GET_VORESOURCE_URL, e1); | |
133 | - // TODO: pass the entire request. | |
134 | - } | |
135 | - return ivoidResources; | |
136 | - } | |
137 | - | |
138 | 136 | private static List<String> parseIvoidResources(String ivoidResourcesPath) |
139 | 137 | throws CantReadVOResourceException { |
140 | 138 | JsonReader reader; | ... | ... |