Project

General

Profile

« Previous | Next » 

Revision 49852

  • Methods added on broker api

View differences:

modules/uoa-repository-manager-service/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApiImpl.java
10 10
import eu.dnetlib.repo.manager.shared.broker.BrowseEntry;
11 11
import eu.dnetlib.repo.manager.shared.broker.DatasourcesBroker;
12 12
import eu.dnetlib.repo.manager.shared.broker.EventsPage;
13
import org.apache.xpath.operations.Bool;
13 14
import org.json.JSONException;
14 15
import org.json.JSONObject;
15 16
import org.springframework.beans.factory.annotation.Autowired;
......
44 45
        DatasourcesBroker ret = new DatasourcesBroker();
45 46

  
46 47
        String userEmail = json_params.getString("userEmail");
47
        boolean includeShared = json_params.getBoolean("includeShared");
48
        boolean includeByOthers = json_params.getBoolean("includeByOthers");
48
        boolean includeShared = Boolean.parseBoolean( json_params.getString("includeShared") );
49
        boolean includeByOthers = Boolean.parseBoolean( json_params.getString("includeByOthers") );
49 50

  
50 51
        try {
51 52
            ret.setDatasourcesOfUser(getDatasourcesOfUserType(getRepositoriesOfUser(userEmail)));
......
93 94
    public EventsPage advancedShowEvents(String params) throws BrokerException, JSONException {
94 95
        JSONObject json_params = new JSONObject(params);
95 96

  
96
        long page = json_params.getLong("page");
97
        long pagesize = json_params.getLong("pagesize");
97
        String page = json_params.getString("page");
98
        String pagesize = json_params.getString("pagesize");
98 99

  
99 100
        JSONObject json_advQueryObject = json_params.getJSONObject("advQueryObject");
100 101
        ObjectMapper obj = new ObjectMapper();
......
104 105
        final String service = "/events/{page}/{pageSize}";
105 106

  
106 107
        Map<String, Long> uriParams = new HashMap<>();
107
        uriParams.put("page", page);
108
        uriParams.put("pageSize", pagesize);
108
        uriParams.put("page", Long.parseLong(page));
109
        uriParams.put("pageSize", Long.parseLong(pagesize));
109 110

  
110 111
        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(openairePath + service);
111 112

  
112 113
        MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
113 114
        headers.add("Content-Type", "application/json");
114 115

  
115
        advQueryObject.setPage(page);
116
        advQueryObject.setPage(Long.parseLong(page));
116 117

  
117 118
        HttpEntity<AdvQueryObject> entity = new HttpEntity<>(advQueryObject, headers);
118 119

  
......
182 183
        return null;
183 184
    }
184 185

  
186
    @Override
187
    public EventsPage showEvents(String params) throws BrokerException, JSONException {
188

  
189
        JSONObject json_params = new JSONObject(params);
190

  
191
        String datasourceName = json_params.getString("datasourceName");
192
        String topic = json_params.getString("topic");
193
        String page = json_params.getString("page");
194

  
195
        final String service = "/showEvents";
196

  
197
        //build the uri params
198
        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(openairePath + service)
199
                .queryParam("ds", datasourceName)
200
                .queryParam("topic", topic)
201
                .queryParam("page", page);
202

  
203
        //create new template engine
204
        RestTemplate template = new RestTemplate();
205
        template.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
206
        ResponseEntity<EventsPage> resp;
207
        try {
208
            //communicate with endpoint
209
            resp = template.exchange(
210
                    builder.build().encode().toUri(),
211
                    HttpMethod.GET,
212
                    null,
213
                    new ParameterizedTypeReference<EventsPage>() {
214
                    });
215
        } catch (RestClientException e) {
216
            throw new BrokerException(e);
217
        }
218
        return resp.getBody();
219
    }
220

  
221

  
185 222
}
modules/uoa-repository-manager-service/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApi.java
25 25

  
26 26
    @RequestMapping(value = "/advancedShowEvents" , method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
27 27
    EventsPage advancedShowEvents(@RequestBody String params) throws BrokerException, JSONException;
28

  
29
    @RequestMapping(value = "/showEvents" , method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
30
    EventsPage showEvents(String params) throws BrokerException, JSONException;
28 31
}

Also available in: Unified diff