Project

General

Profile

« Previous | Next » 

Revision 57874

Using new function for getRepositoriesOfUser, now retuning repository snippet

View differences:

modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryService.java
20 20

  
21 21
    List<Repository> getRepositoriesOfUser(String userEmail,
22 22
                                           String page,
23
                                           String size) throws JSONException;
23
                                           String size) throws JSONException, IOException;
24 24

  
25
    List<RepositorySnippet> getRepositoriesSnippetOfUser(String userEmail, String page, String size) throws IOException, JSONException;
26

  
25 27
    Repository getRepositoryById(String id) throws JSONException, ResourceNotFoundException;
26 28

  
27 29
    List<AggregationDetails> getRepositoryAggregations(String id, int from, int size) throws JSONException;
modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java
240 240
        requestFilter.setRegisteredby(userEmail);
241 241

  
242 242
        try{
243
            long start = System.currentTimeMillis();
244 243
            String rs = restTemplate.postForObject(uriComponents.toUri(),requestFilter, String.class);
245
            long end = System.currentTimeMillis();
246 244

  
247
            System.out.println("POST request finished in " + (end-start)+"ms");
248
            start=System.currentTimeMillis();
249 245
            List<Repository> repos = Converter.jsonToRepositoryList(new JSONObject(rs));
250
            end=System.currentTimeMillis();
251
            System.out.println("Converting json to repo list finished in " + (end-start)+"ms");
252
            start=System.currentTimeMillis();
253 246
            for (Repository r : repos)
254 247
                r.setPiwikInfo(piWikService.getPiwikSiteForRepo(r.getId()));
255

  
256
            end=System.currentTimeMillis();
257
            System.out.println("Updating "+repos.size()+" repository infos in " + (end-start)+"ms");
258 248
            return repos;
259 249
        }catch (Exception e){
260 250
            LOGGER.debug("Exception on getRepositoriesOfUser" , e);
......
264 254
    }
265 255

  
266 256
    @Override
257
    public List<RepositorySnippet> getRepositoriesSnippetOfUser(String userEmail, String page, String size) throws IOException, JSONException {
258
        List<RepositorySnippet> resultSet = new ArrayList<>();
259
        ObjectMapper mapper = new ObjectMapper();
260

  
261
        UriComponents uriComponents = searchSnipperDatasource(page,size);
262
        RequestFilter requestFilter = new RequestFilter();
263
        requestFilter.setRegisteredby(userEmail);
264

  
265
        try{
266
            String rs = restTemplate.postForObject(uriComponents.toUri(),requestFilter, String.class);
267
            JSONArray jsonArray = (JSONArray) new JSONObject(rs).get("datasourceInfo");
268
            while (jsonArray.length() > 0 ) {
269
                resultSet.addAll(mapper.readValue(String.valueOf(jsonArray),
270
                        mapper.getTypeFactory().constructCollectionType(List.class, RepositorySnippet.class)));
271
                page += 1;
272
                uriComponents = searchSnipperDatasource(page,size);
273
                rs = restTemplate.postForObject(uriComponents.toUri(),requestFilter, String.class);
274
                jsonArray = (JSONArray) new JSONObject(rs).get("datasourceInfo");
275
            }
276
            resultSet.parallelStream().forEach(repositorySnippet -> {
277
                repositorySnippet.setPiwikInfo(piWikService.getPiwikSiteForRepo(repositorySnippet.getId()));
278
            });
279
            return resultSet;
280
        }catch (Exception e){
281
            LOGGER.debug("Exception on getRepositoriesByCountry" , e);
282
            throw e;
283
        }
284
    }
285

  
286
    @Override
267 287
    public Repository getRepositoryById(String id) throws JSONException,ResourceNotFoundException {
268 288

  
269 289
        LOGGER.debug("Retreiving repositories with id : " + id );
modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java
46 46
            produces = MediaType.APPLICATION_JSON_VALUE)
47 47
    @ResponseBody
48 48
    @PreAuthorize("hasRole('ROLE_USER')")
49
    public List<Repository> getRepositoriesOfUser(@PathVariable("userEmail") String userEmail,
49
    public List<RepositorySnippet> getRepositoriesOfUser(@PathVariable("userEmail") String userEmail,
50 50
                                                  @PathVariable("page") String page,
51
                                                  @PathVariable("size") String size) throws JSONException {
52
       return repositoryService.getRepositoriesOfUser(userEmail, page, size);
51
                                                  @PathVariable("size") String size) throws JSONException, IOException {
52
       return repositoryService.getRepositoriesSnippetOfUser(userEmail, page, size);
53 53
    }
54 54

  
55 55
    @RequestMapping(value = "/searchRegisteredRepositories/{page}/{size}",method = RequestMethod.GET,
modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/domain/RepositorySnippet.java
1 1
package eu.dnetlib.repo.manager.domain;
2 2

  
3 3

  
4
import eu.dnetlib.domain.data.PiwikInfo;
4 5

  
5 6
public class RepositorySnippet {
6 7

  
......
13 14
    private Organization[] organizations;
14 15
    private String registrationdate;
15 16

  
17

  
18
    private PiwikInfo piwikInfo;
19

  
16 20
    public RepositorySnippet() {}
17 21

  
18 22
    public String getId() {
......
78 82
    public void setRegistrationdate(String registrationdate) {
79 83
        this.registrationdate = registrationdate;
80 84
    }
85

  
86
    public PiwikInfo getPiwikInfo() {
87
        return piwikInfo;
88
    }
89

  
90
    public void setPiwikInfo(PiwikInfo piwikInfo) {
91
        this.piwikInfo = piwikInfo;
92
    }
81 93
}

Also available in: Unified diff