Revision 49975
Added by Panagiotis Kanakakis over 6 years ago
RepositoryApiImpl.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.repo.manager.service.controllers; |
2 | 2 |
|
3 |
import com.fasterxml.jackson.databind.DeserializationFeature; |
|
3 | 4 |
import com.fasterxml.jackson.databind.ObjectMapper; |
5 |
import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; |
|
4 | 6 |
import eu.dnetlib.domain.enabling.Vocabulary; |
5 | 7 |
import eu.dnetlib.repo.manager.service.utils.Converter; |
6 | 8 |
import eu.dnetlib.domain.data.Repository; |
... | ... | |
48 | 50 |
private Map<String, String> inverseCountriesMap = new HashMap<>(); |
49 | 51 |
|
50 | 52 |
|
51 |
//String updateQuery = "UPDATE datasources SET englishname = '" + repo.getEnglishName() + "', logourl = '" + repo.getLogoUrl() + "', timezone = '" + repo.getTimezone() + "', registeredby = '" + repo.getRegisteredBy() + "', activationid = '" + repo.getActivationId() + "', contactemail = '" + repo.getContactEmail() + "', datasourceclass = '" + repo.getDatasourceClass() + "' WHERE id = '" + repo.getId() + "'"; |
|
52 |
|
|
53 |
|
|
54 | 53 |
@PostConstruct |
55 | 54 |
private void init() { |
56 | 55 |
LOGGER.debug("Initialization method of repository api!"); |
... | ... | |
186 | 185 |
@PathVariable("page") String page, |
187 | 186 |
@PathVariable("size") String size) throws JSONException { |
188 | 187 |
|
189 |
LOGGER.debug("Retreiving repositories of user : " + userEmail + " with params: " + baseAddress + "-" + page + "/" + size); |
|
190 |
//TODO update with correct method |
|
188 |
LOGGER.debug("Retreiving repositories of user : " + userEmail ); |
|
191 | 189 |
UriComponents uriComponents = UriComponentsBuilder |
192 |
.fromHttpUrl(baseAddress + "/ds/search/email/")
|
|
190 |
.fromHttpUrl(baseAddress + "/ds/search/registeredBy/")
|
|
193 | 191 |
.path("/{page}/{size}/") |
194 |
.queryParam("contactemail", userEmail)
|
|
192 |
.queryParam("registeredBy", userEmail)
|
|
195 | 193 |
.build().expand(page, size).encode(); |
196 | 194 |
|
197 | 195 |
String rs = restTemplate.getForObject(uriComponents.toUri(), String.class); |
... | ... | |
278 | 276 |
String json_repository = json_params.getString("repository"); |
279 | 277 |
Repository repository = null; |
280 | 278 |
ObjectMapper mapper = new ObjectMapper(); |
279 |
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); |
|
281 | 280 |
try { |
281 |
LOGGER.debug("repository -> " + json_repository); |
|
282 | 282 |
repository = mapper.readValue(json_repository, Repository.class); |
283 | 283 |
} catch (Exception e) { |
284 | 284 |
LOGGER.debug("Error parsing repository ", e); |
285 |
throw e; |
|
285 | 286 |
} |
286 | 287 |
|
287 | 288 |
repository = this.setRepositoryFeatures(datatype,repository); |
... | ... | |
296 | 297 |
LOGGER.debug(retMessage); |
297 | 298 |
} else { |
298 | 299 |
LOGGER.debug(datatype + " " + repository.getOfficialName() + " is not in datasources. Inserting.."); |
299 |
storeRepository(repository); |
|
300 |
this.storeRepository(repository);
|
|
300 | 301 |
} |
301 | 302 |
} |
302 | 303 |
} else { |
303 |
// TODO call update method for register
|
|
304 |
this.updateRegisteredByValue(repository.getId(),repository.getRegisteredBy());
|
|
304 | 305 |
} |
305 | 306 |
|
306 | 307 |
LOGGER.debug("Inserting Interfaces"); |
... | ... | |
315 | 316 |
LOGGER.debug("updated successfully"); |
316 | 317 |
} else { |
317 | 318 |
LOGGER.debug("adding new iface.."); |
318 |
registerRepositoryInterface(repository.getId(),iFace,datatype); |
|
319 |
this.registerRepositoryInterface(repository.getId(),iFace,datatype);
|
|
319 | 320 |
} |
320 | 321 |
} |
321 | 322 |
} |
322 | 323 |
} |
323 | 324 |
|
325 |
private void updateRegisteredByValue(String id, String registeredBy) { |
|
326 |
|
|
327 |
LOGGER.debug("Updating registered by value with : " + registeredBy ); |
|
328 |
UriComponents uriComponents = UriComponentsBuilder |
|
329 |
.fromHttpUrl(baseAddress + "/ds/registeredBy/") |
|
330 |
.queryParam("dsId",id) |
|
331 |
.queryParam("registeredBy", registeredBy) |
|
332 |
.build() |
|
333 |
.encode(); |
|
334 |
restTemplate.postForObject(uriComponents.toUri(), null,String.class); |
|
335 |
} |
|
336 |
|
|
324 | 337 |
private Repository setRepositoryFeatures(String datatype, Repository repository) { |
325 | 338 |
|
326 | 339 |
//TODO update map |
... | ... | |
460 | 473 |
return registerRepositoryInterface(repoId,iFace,datatype); |
461 | 474 |
} |
462 | 475 |
|
463 |
public RepositoryInterface registerRepositoryInterface(String repoId, RepositoryInterface iFace, String datatype) {
|
|
476 |
private RepositoryInterface registerRepositoryInterface(String repoId, RepositoryInterface iFace, String datatype) {
|
|
464 | 477 |
Repository e = null; |
465 | 478 |
try { |
466 | 479 |
e = this.getRepositoryById(repoId); |
... | ... | |
514 | 527 |
@RequestParam(value = "englishname") String englishName) { |
515 | 528 |
|
516 | 529 |
UriComponents uriComponents = UriComponentsBuilder |
517 |
.fromHttpUrl(baseAddress + "/ds/manage/")
|
|
530 |
.fromHttpUrl(baseAddress + "/ds/englishname/")
|
|
518 | 531 |
.queryParam("dsId",id) |
519 | 532 |
.queryParam("englishname",englishName) |
520 | 533 |
.build().encode(); |
... | ... | |
528 | 541 |
@RequestParam(value = "managed") String latitude) { |
529 | 542 |
|
530 | 543 |
UriComponents uriComponents = UriComponentsBuilder |
531 |
.fromHttpUrl(baseAddress + "/ds/manage/")
|
|
544 |
.fromHttpUrl(baseAddress + "/ds/latitude/")
|
|
532 | 545 |
.queryParam("dsId",id) |
533 | 546 |
.queryParam("latitude",latitude) |
534 | 547 |
.build().encode(); |
... | ... | |
540 | 553 |
@RequestParam(value = "longitude") String longitude) { |
541 | 554 |
|
542 | 555 |
UriComponents uriComponents = UriComponentsBuilder |
543 |
.fromHttpUrl(baseAddress + "/ds/manage/")
|
|
556 |
.fromHttpUrl(baseAddress + "/ds/longitude/")
|
|
544 | 557 |
.queryParam("dsId",id) |
545 | 558 |
.queryParam("longitude",longitude) |
546 | 559 |
.build().encode(); |
... | ... | |
552 | 565 |
@RequestParam(value = "officialname") String officialname) { |
553 | 566 |
|
554 | 567 |
UriComponents uriComponents = UriComponentsBuilder |
555 |
.fromHttpUrl(baseAddress + "/ds/manage/")
|
|
568 |
.fromHttpUrl(baseAddress + "/ds/officialname/")
|
|
556 | 569 |
.queryParam("dsId",id) |
557 | 570 |
.queryParam("officialname",officialname) |
558 | 571 |
.build().encode(); |
... | ... | |
563 | 576 |
public String updateTimezone(@RequestParam(value = "id") String id, |
564 | 577 |
@RequestParam(value = "timezone") String timezone) { |
565 | 578 |
UriComponents uriComponents = UriComponentsBuilder |
566 |
.fromHttpUrl(baseAddress + "/ds/update/timezone")
|
|
579 |
.fromHttpUrl(baseAddress + "/ds/timezone") |
|
567 | 580 |
.queryParam("dsId",id) |
568 | 581 |
.queryParam("timezone",timezone) |
569 | 582 |
.build().encode(); |
... | ... | |
574 | 587 |
public String updateTypology(@RequestParam(value = "id") String id, |
575 | 588 |
@RequestParam(value = "typology") String typology) { |
576 | 589 |
UriComponents uriComponents = UriComponentsBuilder |
577 |
.fromHttpUrl(baseAddress + "/ds/update/typology")
|
|
590 |
.fromHttpUrl(baseAddress + "/ds/typology") |
|
578 | 591 |
.queryParam("dsId",id) |
579 | 592 |
.queryParam("typology",typology) |
580 | 593 |
.build().encode(); |
... | ... | |
585 | 598 |
public String updateLogoUrl(@RequestParam(value = "id") String id, |
586 | 599 |
@RequestParam(value = "logoUrl") String logoUrl) { |
587 | 600 |
UriComponents uriComponents = UriComponentsBuilder |
588 |
.fromHttpUrl(baseAddress + "/ds/update/logourl")
|
|
601 |
.fromHttpUrl(baseAddress + "/ds/logourl") |
|
589 | 602 |
.queryParam("dsId",id) |
590 | 603 |
.queryParam("logourl",logoUrl) |
591 | 604 |
.build().encode(); |
Also available in: Unified diff
1. Change converter method ( null lat/lon -> 0 )
2. Change repository api. Organize code, add new api methods.