Using new function for getRepositoriesOfUser, now retuning repository snippet
This commit is contained in:
parent
192ba92c1e
commit
ebd68aa2c3
|
@ -46,10 +46,10 @@ public class RepositoryController {
|
||||||
produces = MediaType.APPLICATION_JSON_VALUE)
|
produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@PreAuthorize("hasRole('ROLE_USER')")
|
@PreAuthorize("hasRole('ROLE_USER')")
|
||||||
public List<Repository> getRepositoriesOfUser(@PathVariable("userEmail") String userEmail,
|
public List<RepositorySnippet> getRepositoriesOfUser(@PathVariable("userEmail") String userEmail,
|
||||||
@PathVariable("page") String page,
|
@PathVariable("page") String page,
|
||||||
@PathVariable("size") String size) throws JSONException {
|
@PathVariable("size") String size) throws JSONException, IOException {
|
||||||
return repositoryService.getRepositoriesOfUser(userEmail, page, size);
|
return repositoryService.getRepositoriesSnippetOfUser(userEmail, page, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/searchRegisteredRepositories/{page}/{size}",method = RequestMethod.GET,
|
@RequestMapping(value = "/searchRegisteredRepositories/{page}/{size}",method = RequestMethod.GET,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package eu.dnetlib.repo.manager.domain;
|
package eu.dnetlib.repo.manager.domain;
|
||||||
|
|
||||||
|
|
||||||
|
import eu.dnetlib.domain.data.PiwikInfo;
|
||||||
|
|
||||||
public class RepositorySnippet {
|
public class RepositorySnippet {
|
||||||
|
|
||||||
|
@ -13,6 +14,9 @@ public class RepositorySnippet {
|
||||||
private Organization[] organizations;
|
private Organization[] organizations;
|
||||||
private String registrationdate;
|
private String registrationdate;
|
||||||
|
|
||||||
|
|
||||||
|
private PiwikInfo piwikInfo;
|
||||||
|
|
||||||
public RepositorySnippet() {}
|
public RepositorySnippet() {}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
|
@ -78,4 +82,12 @@ public class RepositorySnippet {
|
||||||
public void setRegistrationdate(String registrationdate) {
|
public void setRegistrationdate(String registrationdate) {
|
||||||
this.registrationdate = registrationdate;
|
this.registrationdate = registrationdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PiwikInfo getPiwikInfo() {
|
||||||
|
return piwikInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPiwikInfo(PiwikInfo piwikInfo) {
|
||||||
|
this.piwikInfo = piwikInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,9 @@ public interface RepositoryService {
|
||||||
|
|
||||||
List<Repository> getRepositoriesOfUser(String userEmail,
|
List<Repository> getRepositoriesOfUser(String userEmail,
|
||||||
String page,
|
String page,
|
||||||
String size) throws JSONException;
|
String size) throws JSONException, IOException;
|
||||||
|
|
||||||
|
List<RepositorySnippet> getRepositoriesSnippetOfUser(String userEmail, String page, String size) throws IOException, JSONException;
|
||||||
|
|
||||||
Repository getRepositoryById(String id) throws JSONException, ResourceNotFoundException;
|
Repository getRepositoryById(String id) throws JSONException, ResourceNotFoundException;
|
||||||
|
|
||||||
|
|
|
@ -240,21 +240,11 @@ public class RepositoryServiceImpl implements RepositoryService {
|
||||||
requestFilter.setRegisteredby(userEmail);
|
requestFilter.setRegisteredby(userEmail);
|
||||||
|
|
||||||
try{
|
try{
|
||||||
long start = System.currentTimeMillis();
|
|
||||||
String rs = restTemplate.postForObject(uriComponents.toUri(),requestFilter, String.class);
|
String rs = restTemplate.postForObject(uriComponents.toUri(),requestFilter, String.class);
|
||||||
long end = System.currentTimeMillis();
|
|
||||||
|
|
||||||
System.out.println("POST request finished in " + (end-start)+"ms");
|
|
||||||
start=System.currentTimeMillis();
|
|
||||||
List<Repository> repos = Converter.jsonToRepositoryList(new JSONObject(rs));
|
List<Repository> repos = Converter.jsonToRepositoryList(new JSONObject(rs));
|
||||||
end=System.currentTimeMillis();
|
|
||||||
System.out.println("Converting json to repo list finished in " + (end-start)+"ms");
|
|
||||||
start=System.currentTimeMillis();
|
|
||||||
for (Repository r : repos)
|
for (Repository r : repos)
|
||||||
r.setPiwikInfo(piWikService.getPiwikSiteForRepo(r.getId()));
|
r.setPiwikInfo(piWikService.getPiwikSiteForRepo(r.getId()));
|
||||||
|
|
||||||
end=System.currentTimeMillis();
|
|
||||||
System.out.println("Updating "+repos.size()+" repository infos in " + (end-start)+"ms");
|
|
||||||
return repos;
|
return repos;
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
LOGGER.debug("Exception on getRepositoriesOfUser" , e);
|
LOGGER.debug("Exception on getRepositoriesOfUser" , e);
|
||||||
|
@ -263,6 +253,36 @@ public class RepositoryServiceImpl implements RepositoryService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RepositorySnippet> getRepositoriesSnippetOfUser(String userEmail, String page, String size) throws IOException, JSONException {
|
||||||
|
List<RepositorySnippet> resultSet = new ArrayList<>();
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
|
UriComponents uriComponents = searchSnipperDatasource(page,size);
|
||||||
|
RequestFilter requestFilter = new RequestFilter();
|
||||||
|
requestFilter.setRegisteredby(userEmail);
|
||||||
|
|
||||||
|
try{
|
||||||
|
String rs = restTemplate.postForObject(uriComponents.toUri(),requestFilter, String.class);
|
||||||
|
JSONArray jsonArray = (JSONArray) new JSONObject(rs).get("datasourceInfo");
|
||||||
|
while (jsonArray.length() > 0 ) {
|
||||||
|
resultSet.addAll(mapper.readValue(String.valueOf(jsonArray),
|
||||||
|
mapper.getTypeFactory().constructCollectionType(List.class, RepositorySnippet.class)));
|
||||||
|
page += 1;
|
||||||
|
uriComponents = searchSnipperDatasource(page,size);
|
||||||
|
rs = restTemplate.postForObject(uriComponents.toUri(),requestFilter, String.class);
|
||||||
|
jsonArray = (JSONArray) new JSONObject(rs).get("datasourceInfo");
|
||||||
|
}
|
||||||
|
resultSet.parallelStream().forEach(repositorySnippet -> {
|
||||||
|
repositorySnippet.setPiwikInfo(piWikService.getPiwikSiteForRepo(repositorySnippet.getId()));
|
||||||
|
});
|
||||||
|
return resultSet;
|
||||||
|
}catch (Exception e){
|
||||||
|
LOGGER.debug("Exception on getRepositoriesByCountry" , e);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Repository getRepositoryById(String id) throws JSONException,ResourceNotFoundException {
|
public Repository getRepositoryById(String id) throws JSONException,ResourceNotFoundException {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue