From 4f705714fde91ad5c6fd5f3d832823af83725b83 Mon Sep 17 00:00:00 2001 From: Vladimir Lyubitelev Date: Mon, 29 Apr 2013 11:57:12 +0200 Subject: [PATCH 1/2] fix for NullPointerException if links parameter is --- .../springframework/data/rest/shell/commands/HttpCommands.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java b/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java index 26d19f1..9549d15 100755 --- a/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java +++ b/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java @@ -615,7 +615,7 @@ private RequestHelper(Object body, MediaType contentType) { contextCmds.variables.put("responseBody", lastResult); - if(lastResult instanceof Map && ((Map)lastResult).containsKey("links")) { + if(lastResult instanceof Map && ((Map)lastResult).containsKey("links") && ((Map)lastResult).get("links") != null) { Links linksobj; if(contextCmds.variables.containsKey("links")) { linksobj = (Links)contextCmds.variables.get("links"); From b6cbcd60eb5e1ea6a6d8d37956ba5b322e38eb42 Mon Sep 17 00:00:00 2001 From: Vladimir Lyubitelev Date: Mon, 29 Apr 2013 12:06:18 +0200 Subject: [PATCH 2/2] Improved logging for RuntimeExceptions that may happen during execution of HTTP command and parsing of result --- .../springframework/data/rest/shell/commands/HttpCommands.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java b/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java index 9549d15..876eeaa 100755 --- a/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java +++ b/src/main/java/org/springframework/data/rest/shell/commands/HttpCommands.java @@ -377,6 +377,9 @@ public String execute(final HttpMethod method, } // Calling this method recursively results in hang, so just retry once. response = restTemplate.execute(requestUri, method, helper, helper); + } catch(RuntimeException re) { + LOG.error(re.getMessage(), re); + throw re; } finally { restTemplate.setErrorHandler(origErrHandler); }