• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

GuillaumeDmns / website-back / 36

13 Dec 2025 03:38PM UTC coverage: 0.0%. Remained the same
36

push

github

GuillaumeDmns
Merge branch 'fix/actions'

0 of 250 branches covered (0.0%)

Branch coverage included in aggregate %.

0 of 4252 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/com/gdamiens/website/service/IDFMNavitiaService.java
1
package com.gdamiens.website.service;
2

3
import com.gdamiens.website.configuration.ApplicationProperties;
4
import com.gdamiens.website.exceptions.CustomException;
5
import com.gdamiens.website.idfm.navitia.Journeys;
6
import com.gdamiens.website.idfm.navitia.Places;
7
import com.gdamiens.website.utils.Constants;
8
import org.apache.hc.client5.http.impl.classic.HttpClients;
9
import org.slf4j.Logger;
10
import org.slf4j.LoggerFactory;
11
import org.springframework.http.HttpEntity;
12
import org.springframework.http.HttpMethod;
13
import org.springframework.http.HttpStatus;
14
import org.springframework.http.ResponseEntity;
15
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
16
import org.springframework.stereotype.Service;
17
import org.springframework.web.client.RestTemplate;
18
import org.springframework.web.util.UriComponentsBuilder;
19

20
@Service
21
public class IDFMNavitiaService extends AbstractIDFMService {
22

23
    private static final Logger log = LoggerFactory.getLogger(IDFMNavitiaService.class);
×
24

25
    private final RestTemplate restTemplate;
26

27
    public IDFMNavitiaService(ApplicationProperties applicationProperties) {
28
        super(applicationProperties);
×
29
        HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(HttpClients.custom().build());
×
30
        this.restTemplate = new RestTemplate(requestFactory);
×
31

32
    }
×
33

34
    public Places getPlaces(String query) {
35
        log.info("Getting places for query {}", query);
×
36

37
        HttpEntity<String> request = this.prepareHttpRequest();
×
38

39
        UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString(Constants.IDFM_NAVITIA_PLACES)
×
40
            .queryParam("q", query);
×
41

42
        ResponseEntity<Places> response = this.restTemplate.exchange(uriComponentsBuilder.build().toUri(), HttpMethod.GET, request, Places.class);
×
43

44
        if (!response.getStatusCode().is2xxSuccessful()) {
×
45
            throw new CustomException("IDFM Navitia places response != 200", HttpStatus.INTERNAL_SERVER_ERROR);
×
46
        }
47

48
        return response.getBody();
×
49
    }
50

51
    public Journeys getJourneys(String startPoint, String endPoint) {
52
        log.info("Getting places for start point {} and end point {}", startPoint, endPoint);
×
53

54
        HttpEntity<String> request = this.prepareHttpRequest();
×
55

56
        UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString(Constants.IDFM_NAVITIA_JOURNEYS)
×
57
            .queryParam("from", startPoint)
×
58
            .queryParam("to", endPoint);
×
59

60
        ResponseEntity<Journeys> response = this.restTemplate.exchange(uriComponentsBuilder.build().toUri(), HttpMethod.GET, request, Journeys.class);
×
61

62
        if (!response.getStatusCode().is2xxSuccessful()) {
×
63
            throw new CustomException("IDFM Navitia journeys response != 200", HttpStatus.INTERNAL_SERVER_ERROR);
×
64
        }
65

66
        return response.getBody();
×
67
    }
68
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc