Skip to content

Commit bf025d4

Browse files
Merge pull request #12 from SimpliRoute/FEATURE-SUP875-Implement_logisticsos_provider
Feature sup875 implement logisticsos provider
2 parents 6a641bf + 1a42ec2 commit bf025d4

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

src/main/java/com/osrm/client/OSRMClient.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.osrm.client;
22

3+
import java.io.UnsupportedEncodingException;
4+
import java.net.URLEncoder;
5+
import java.nio.charset.StandardCharsets;
36
import java.util.ArrayList;
47
import java.util.List;
58
import java.util.concurrent.TimeUnit;
@@ -46,10 +49,7 @@ public OSRMDistanceResponse getDistanceMatrix(List<GeoLocation> locations, doubl
4649

4750
paramsString += "&speedRate=" + speedRate;
4851
paramsString += "&country=" + country;
49-
50-
if (startTime != null && !startTime.isEmpty()) {
51-
paramsString += "&start_time=" + startTime;
52-
}
52+
paramsString += encodeStartTime(startTime);
5353

5454
RequestBody body = RequestBody.create(mediaType, "loc=" + paramsString);
5555

@@ -79,6 +79,20 @@ public OSRMDistanceResponse getDistanceMatrix(List<GeoLocation> locations, doubl
7979
throw new DistanceMatrixResponseException("OSRM Error: " + response);
8080
}
8181

82+
private String encodeStartTime(String startTime) {
83+
String paramsString = "";
84+
if (startTime == null || startTime.isEmpty()) {
85+
return paramsString;
86+
}
87+
try {
88+
String encodedStartTime = URLEncoder.encode(startTime, StandardCharsets.UTF_8.toString());
89+
paramsString += "&start_time=" + encodedStartTime;
90+
} catch (Exception e){
91+
throw new OptimizationDistanceMatrixException("Error while encoding startTime parameter");
92+
}
93+
return paramsString;
94+
}
95+
8296
private UnsuccessfulResponse getUnsuccessfulResponse(Response response){
8397
try {
8498
if (response.body() != null) {

0 commit comments

Comments
 (0)