Browse Source

Accept URLs as input but deprecate URL methods #218.

pull/305/merge
Kalle Stenflo 7 years ago
parent
commit
45a4e5e9ef
  1. 1
      json-path/src/main/java/com/jayway/jsonpath/JsonPath.java
  2. 4
      json-path/src/main/java/com/jayway/jsonpath/ParseContext.java
  3. 14
      json-path/src/main/java/com/jayway/jsonpath/internal/JsonContext.java
  4. 1
      json-path/src/test/java/com/jayway/jsonpath/DeepScanTest.java

1
json-path/src/main/java/com/jayway/jsonpath/JsonPath.java

@ -513,6 +513,7 @@ public class JsonPath {
* @return list of objects matched by the given path
*/
@SuppressWarnings({"unchecked"})
@Deprecated
public static <T> T read(URL jsonURL, String jsonPath, Predicate... filters) throws IOException {
return new JsonContext().parse(jsonURL).read(jsonPath, filters);
}

4
json-path/src/main/java/com/jayway/jsonpath/ParseContext.java

@ -17,6 +17,7 @@ package com.jayway.jsonpath;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public interface ParseContext {
@ -29,4 +30,7 @@ public interface ParseContext {
DocumentContext parse(InputStream json, String charset);
DocumentContext parse(File json) throws IOException;
@Deprecated
DocumentContext parse(URL json) throws IOException;
}

14
json-path/src/main/java/com/jayway/jsonpath/internal/JsonContext.java

@ -33,6 +33,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.LinkedList;
import java.util.List;
@ -113,6 +114,19 @@ public class JsonContext implements ParseContext, DocumentContext {
return this;
}
@Override
public DocumentContext parse(URL url) throws IOException {
notNull(url, "url can not be null");
InputStream fis = null;
try {
fis = url.openStream();
parse(fis);
} finally {
Utils.closeQuietly(fis);
}
return this;
}
@Override
public Configuration configuration() {
return configuration;

1
json-path/src/test/java/com/jayway/jsonpath/DeepScanTest.java

@ -333,5 +333,4 @@ public class DeepScanTest extends BaseTest {
.read("$..array[0]");
assertThat(result.get(0)).isEqualTo(expected);
}
}

Loading…
Cancel
Save