Skip to content

Commit 516d26d

Browse files
committed
replace RestTemplate by RestClient in HarvesterService
and switch to constructor autowiring see https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#migrating-to-restclient
1 parent 5966e9c commit 516d26d

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

src/main/java/org/fairdatateam/fairdatapoint/service/index/harvester/HarvesterService.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,12 @@
3232
import org.eclipse.rdf4j.model.vocabulary.LDP;
3333
import org.eclipse.rdf4j.model.vocabulary.RDF;
3434
import org.eclipse.rdf4j.rio.RDFFormat;
35-
import org.springframework.beans.factory.annotation.Autowired;
3635
import org.springframework.http.*;
3736
import org.springframework.scheduling.annotation.Async;
3837
import org.springframework.stereotype.Service;
3938
import org.springframework.web.client.HttpClientErrorException;
39+
import org.springframework.web.client.RestClient;
4040
import org.springframework.web.client.RestClientException;
41-
import org.springframework.web.client.RestTemplate;
4241

4342
import java.util.*;
4443

@@ -57,11 +56,17 @@ public class HarvesterService {
5756

5857
private static final String DEFAULT_NAVIGATION_SHACL = "defaultNavigationShacl.ttl";
5958

60-
@Autowired
61-
private GenericMetadataRepository genericMetadataRepository;
59+
private final GenericMetadataRepository genericMetadataRepository;
6260

63-
@Autowired
64-
private RestTemplate restTemplate;
61+
private final RestClient client;
62+
63+
/**
64+
* Constructor (autowired)
65+
*/
66+
public HarvesterService(GenericMetadataRepository genericMetadataRepository, RestClient client) {
67+
this.genericMetadataRepository = genericMetadataRepository;
68+
this.client = client;
69+
}
6570

6671
public void deleteHarvestedData(String clientUrl) throws MetadataRepositoryException {
6772
genericMetadataRepository.remove(i(clientUrl));
@@ -137,12 +142,14 @@ model, i(container.stringValue()), LDP.CONTAINS
137142

138143
private Model makeRequest(String uri) {
139144
log.info("Making request to '{}'", uri);
140-
final HttpHeaders headers = new HttpHeaders();
141-
headers.setAccept(List.of(MediaType.parseMediaType(RDFFormat.TURTLE.getDefaultMIMEType())));
142-
final HttpEntity<Void> entity = new HttpEntity<>(null, headers);
143145
try {
144146
final ResponseEntity<String> response =
145-
restTemplate.exchange(uri, HttpMethod.GET, entity, String.class);
147+
client.method(HttpMethod.GET)
148+
.uri(uri)
149+
.headers(httpHeaders -> httpHeaders.setAccept(
150+
List.of(MediaType.parseMediaType(RDFFormat.TURTLE.getDefaultMIMEType()))))
151+
.retrieve()
152+
.toEntity(String.class);
146153
if (!response.getStatusCode().is2xxSuccessful()) {
147154
log.info("Request to '{}' failed ({})", uri, response.getStatusCode());
148155
throw new HttpClientErrorException(response.getStatusCode());

0 commit comments

Comments
 (0)