Skip to content

Commit 2ea63b8

Browse files
authored
Merge pull request #223 from amadeus4dev/remove-null-pointer-exception
Remove NullPointerException
2 parents fa4bd82 + 4d9e80d commit 2ea63b8

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

src/main/java/com/amadeus/HTTPClient.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.amadeus.exceptions.NetworkException;
66
import com.amadeus.exceptions.ResponseException;
77
import com.amadeus.resources.Resource;
8+
import com.google.gson.JsonElement;
89
import com.google.gson.JsonObject;
910
import java.io.BufferedWriter;
1011
import java.io.IOException;
@@ -420,23 +421,25 @@ private void write(Request request) throws IOException {
420421
* @hide as ony used internally
421422
*/
422423
protected Response page(String pageName, Response response) throws ResponseException {
423-
try {
424-
String[] parts = response.getResult().get("meta").getAsJsonObject()
425-
.get("links").getAsJsonObject().get(pageName).getAsString()
426-
.split("page%5Boffset%5D=");
427-
428-
String pageNumber = parts[1].split("&")[0];
424+
JsonObject metaLinks = response.getResult().get("meta")
425+
.getAsJsonObject().get("links").getAsJsonObject();
426+
JsonElement pageElement = metaLinks.get(pageName);
429427

430-
Request request = response.getRequest();
431-
Params params = (Params) request.getParams().clone();
432-
params.put("page[offset]", pageNumber);
433-
434-
return request(request.getVerb(), request.getPath(), params, "emptyBody");
435-
} catch (NullPointerException e) {
428+
if (pageElement == null) {
436429
return null;
437430
}
431+
432+
String[] parts = pageElement.getAsString().split("page%5Boffset%5D=");
433+
String pageNumber = parts[1].split("&")[0];
434+
435+
Request request = response.getRequest();
436+
Params params = (Params) request.getParams().clone();
437+
params.put("page[offset]", pageNumber);
438+
439+
return request(request.getVerb(), request.getPath(), params, "emptyBody");
438440
}
439441

442+
440443
/**
441444
* Fetches the response for another page.
442445
* @hide as ony used internally

0 commit comments

Comments
 (0)