From 3cc47259fa65e6e667c7dccb9ba5ac2bae5530c3 Mon Sep 17 00:00:00 2001 From: Tamas Adam Date: Mon, 13 Apr 2015 11:14:07 +0200 Subject: [PATCH] Using the more approtiate PathNotFoundException if old key in rename map was not found. --- .../main/java/com/jayway/jsonpath/internal/PathRef.java | 7 ++----- json-path/src/test/java/com/jayway/jsonpath/WriteTest.java | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/json-path/src/main/java/com/jayway/jsonpath/internal/PathRef.java b/json-path/src/main/java/com/jayway/jsonpath/internal/PathRef.java index c352899c..48b36ed9 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/internal/PathRef.java +++ b/json-path/src/main/java/com/jayway/jsonpath/internal/PathRef.java @@ -1,9 +1,6 @@ package com.jayway.jsonpath.internal; -import com.jayway.jsonpath.Configuration; -import com.jayway.jsonpath.InvalidModificationException; -import com.jayway.jsonpath.InvalidPathException; -import com.jayway.jsonpath.JsonPath; +import com.jayway.jsonpath.*; import com.jayway.jsonpath.spi.json.JsonProvider; import java.util.Collection; @@ -55,7 +52,7 @@ public abstract class PathRef implements Comparable { protected void renameInMap(Object targetMap, String oldKeyName, String newKeyName, Configuration configuration){ if(configuration.jsonProvider().isMap(targetMap)){ if(configuration.jsonProvider().getMapValue(targetMap, oldKeyName) == JsonProvider.UNDEFINED){ - throw new InvalidPathException("Key "+oldKeyName+" not found in map!"); + throw new PathNotFoundException("No results for Key "+oldKeyName+" found in map!"); } configuration.jsonProvider().setProperty(targetMap, newKeyName, configuration.jsonProvider().getMapValue(targetMap, oldKeyName)); configuration.jsonProvider().removeProperty(targetMap, oldKeyName); diff --git a/json-path/src/test/java/com/jayway/jsonpath/WriteTest.java b/json-path/src/test/java/com/jayway/jsonpath/WriteTest.java index 42f99354..6e12d71c 100644 --- a/json-path/src/test/java/com/jayway/jsonpath/WriteTest.java +++ b/json-path/src/test/java/com/jayway/jsonpath/WriteTest.java @@ -246,7 +246,7 @@ public class WriteTest extends BaseTest { parse(JSON_DOCUMENT).renameKey("$.store.book[*]['author', 'category']", "old-key", "new-key"); } - @Test(expected = InvalidPathException.class) + @Test(expected = PathNotFoundException.class) public void non_existent_key_rename_not_allowed(){ Object o = parse(JSON_DOCUMENT).renameKey("$", "fake", "new-fake").json(); }