!1 package init

Merge pull request !1 from Causeway_Bay/master
This commit is contained in:
openeuler-ci-bot 2020-08-31 10:05:01 +08:00 committed by Gitee
commit 35ab9a5ddb
6 changed files with 633 additions and 0 deletions

View File

@ -0,0 +1,399 @@
diff -Nru JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java
--- JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java 2015-11-22 16:21:23.000000000 +0100
+++ JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java 1970-01-01 01:00:00.000000000 +0100
@@ -1,220 +0,0 @@
-package com.jayway.jsonpath.spi.json;
-
-import com.google.gson.JsonObject;
-import com.jayway.jsonpath.InvalidJsonException;
-import com.jayway.jsonpath.JsonPathException;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class JsonOrgJsonProvider extends AbstractJsonProvider {
-
- private static final Logger logger = LoggerFactory.getLogger(GsonJsonProvider.class);
-
- @Override
- public Object parse(String json) throws InvalidJsonException {
- try {
- return new JSONTokener(json).nextValue();
- } catch (JSONException e) {
- throw new InvalidJsonException(e);
- }
- }
-
- @Override
- public Object parse(InputStream jsonStream, String charset) throws InvalidJsonException {
-
- try {
- return new JSONTokener(new InputStreamReader(jsonStream, charset)).nextValue();
- } catch (UnsupportedEncodingException e) {
- throw new JsonPathException(e);
- } catch (JSONException e) {
- throw new InvalidJsonException(e);
- }
- }
-
- @Override
- public Object unwrap(Object obj) {
- if(obj == JSONObject.NULL){
- return null;
- }
- return obj;
- }
-
- @Override
- public String toJson(Object obj) {
- return obj.toString();
- }
-
- @Override
- public Object createArray() {
- return new JSONArray();
- }
-
- @Override
- public Object createMap() {
- return new JsonObject();
- }
-
- @Override
- public boolean isArray(Object obj) {
- return (obj instanceof JSONArray || obj instanceof List);
- }
-
- @Override
- public Object getArrayIndex(Object obj, int idx) {
- try {
- return toJsonArray(obj).get(idx);
- } catch (JSONException e) {
- throw new JsonPathException(e);
- }
- }
-
- @Override
- public void setArrayIndex(Object array, int index, Object newValue) {
- try {
- if (!isArray(array)) {
- throw new UnsupportedOperationException();
- } else {
- toJsonArray(array).put(index, createJsonElement(newValue));
- }
- } catch (JSONException e) {
- throw new JsonPathException(e);
- }
- }
-
- @Override
- public Object getMapValue(Object obj, String key) {
- try {
- JSONObject jsonObject = toJsonObject(obj);
- Object o = jsonObject.get(key);
- if (!jsonObject.has(key)) {
- return UNDEFINED;
- } else {
- return unwrap(o);
- }
- } catch (JSONException e) {
- throw new JsonPathException(e);
- }
- }
-
- @Override
- public void setProperty(Object obj, Object key, Object value) {
- try {
- if (isMap(obj))
- toJsonObject(obj).put(key.toString(), createJsonElement(value));
- else {
- JSONArray array = toJsonArray(obj);
- int index;
- if (key != null) {
- index = key instanceof Integer ? (Integer) key : Integer.parseInt(key.toString());
- } else {
- index = array.length();
- }
- if (index == array.length()) {
- array.put(createJsonElement(value));
- } else {
- array.put(index, createJsonElement(value));
- }
- }
- } catch (JSONException e) {
- throw new JsonPathException(e);
- }
- }
-
- @SuppressWarnings("unchecked")
- public void removeProperty(Object obj, Object key) {
- if (isMap(obj))
- toJsonObject(obj).remove(key.toString());
- else {
- JSONArray array = toJsonArray(obj);
- int index = key instanceof Integer ? (Integer) key : Integer.parseInt(key.toString());
- array.remove(index);
- }
- }
-
- @Override
- public boolean isMap(Object obj) {
- return (obj instanceof JSONObject);
- }
-
- @Override
- public Collection<String> getPropertyKeys(Object obj) {
- JSONObject jsonObject = toJsonObject(obj);
- List<String> keys = new ArrayList<String>();
- try {
- for (int i = 0; i < jsonObject.names().length(); i++) {
- String key = (String) jsonObject.names().get(i);
- keys.add(key);
-
- }
- return keys;
- } catch (JSONException e) {
- throw new JsonPathException(e);
- }
- }
-
- @Override
- public int length(Object obj) {
- if (isArray(obj)) {
- return toJsonArray(obj).length();
- } else if (isMap(obj)) {
- return toJsonObject(obj).length();
- } else {
- if (obj instanceof String) {
- return ((String) obj).length();
- }
- }
- throw new JsonPathException("length operation can not applied to " + obj != null ? obj.getClass().getName() : "null");
- }
-
- @Override
- public Iterable<?> toIterable(Object obj) {
- try {
- if (isArray(obj)) {
- JSONArray arr = toJsonArray(obj);
- List<Object> values = new ArrayList<Object>(arr.length());
- for (int i = 0; i < arr.length(); i++) {
- values.add(unwrap(arr.get(i)));
- }
- return values;
- } else {
- JSONObject jsonObject = toJsonObject(obj);
- List<Object> values = new ArrayList<Object>();
-
- for (int i = 0; i < jsonObject.names().length(); i++) {
- String key = (String) jsonObject.names().get(i);
- Object val = jsonObject.get(key);
- values.add(unwrap(val));
-
- }
-
- return values;
- }
- } catch (JSONException e) {
- throw new JsonPathException(e);
- }
- }
-
- private Object createJsonElement(Object o) {
- return o;
- }
-
- private JSONArray toJsonArray(Object o) {
- return (JSONArray) o;
- }
-
- private JSONObject toJsonObject(Object o) {
- return (JSONObject) o;
- }
-
-}
diff -Nru JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java
--- JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java 2015-11-22 16:21:23.000000000 +0100
+++ JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java 1970-01-01 01:00:00.000000000 +0100
@@ -1,58 +0,0 @@
-package com.jayway.jsonpath.spi.mapper;
-
-import com.jayway.jsonpath.Configuration;
-import com.jayway.jsonpath.TypeRef;
-import org.json.JSONArray;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class JsonOrgMappingProvider implements MappingProvider {
- @Override
- public <T> T map(Object source, Class<T> targetType, Configuration configuration) {
- if(source == null){
- return null;
- }
- if(targetType.equals(Object.class) || targetType.equals(List.class) || targetType.equals(Map.class)){
- return (T) mapToObject(source);
- }
- return (T)source;
- }
-
- @Override
- public <T> T map(Object source, TypeRef<T> targetType, Configuration configuration) {
- throw new UnsupportedOperationException("JsonOrg provider does not support TypeRef! Use a Jackson or Gson based provider");
- }
-
-
- private Object mapToObject(Object source){
- if(source instanceof JSONArray){
- List<Object> mapped = new ArrayList<Object>();
- JSONArray array = (JSONArray) source;
-
- for (int i = 0; i < array.length(); i++){
- mapped.add(mapToObject(array.get(i)));
- }
-
- return mapped;
- }
- else if (source instanceof JSONObject){
- Map<String, Object> mapped = new HashMap<String, Object>();
- JSONObject obj = (JSONObject) source;
-
- for (Object o : obj.keySet()) {
- String key = o.toString();
- mapped.put(key, mapToObject(obj.get(key)));
- }
- return mapped;
- }
- else if (source == JSONObject.NULL){
- return null;
- } else {
- return source;
- }
- }
-}
diff -Nru JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java
--- JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java 2015-11-22 16:21:23.000000000 +0100
+++ JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java 2016-06-08 16:42:52.250197491 +0200
@@ -5,23 +5,15 @@
import com.jayway.jsonpath.spi.json.GsonJsonProvider;
import com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider;
import com.jayway.jsonpath.spi.json.JacksonJsonProvider;
-import com.jayway.jsonpath.spi.json.JsonOrgJsonProvider;
import com.jayway.jsonpath.spi.json.JsonSmartJsonProvider;
import com.jayway.jsonpath.spi.mapper.GsonMappingProvider;
import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider;
-import com.jayway.jsonpath.spi.mapper.JsonOrgMappingProvider;
import com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider;
import java.util.HashMap;
public class BaseTest {
- public static final Configuration JSON_ORG_CONFIGURATION = Configuration
- .builder()
- .mappingProvider(new JsonOrgMappingProvider())
- .jsonProvider(new JsonOrgJsonProvider())
- .build();
-
public static final Configuration GSON_CONFIGURATION = Configuration
.builder()
.mappingProvider(new GsonMappingProvider())
diff -Nru JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/Configurations.java JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/Configurations.java
--- JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/Configurations.java 2015-11-22 16:21:23.000000000 +0100
+++ JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/Configurations.java 2016-06-08 16:44:52.263228220 +0200
@@ -3,23 +3,15 @@
import com.jayway.jsonpath.spi.json.GsonJsonProvider;
import com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider;
import com.jayway.jsonpath.spi.json.JacksonJsonProvider;
-import com.jayway.jsonpath.spi.json.JsonOrgJsonProvider;
import com.jayway.jsonpath.spi.json.JsonSmartJsonProvider;
import com.jayway.jsonpath.spi.mapper.GsonMappingProvider;
import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider;
-import com.jayway.jsonpath.spi.mapper.JsonOrgMappingProvider;
import com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider;
import java.util.Arrays;
public class Configurations {
- public static final Configuration JSON_ORG_CONFIGURATION = Configuration
- .builder()
- .mappingProvider(new JsonOrgMappingProvider())
- .jsonProvider(new JsonOrgJsonProvider())
- .build();
-
public static final Configuration GSON_CONFIGURATION = Configuration
.builder()
.mappingProvider(new GsonMappingProvider())
@@ -50,7 +42,6 @@
,GSON_CONFIGURATION
,JACKSON_CONFIGURATION
,JACKSON_JSON_NODE_CONFIGURATION
- ,JSON_ORG_CONFIGURATION
);
}
diff -Nru JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java
--- JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java 2015-11-22 16:21:23.000000000 +0100
+++ JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java 1970-01-01 01:00:00.000000000 +0100
@@ -1,47 +0,0 @@
-package com.jayway.jsonpath;
-
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.junit.Test;
-
-import java.util.List;
-import java.util.Map;
-
-import static com.jayway.jsonpath.JsonPath.using;
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class JsonOrgJsonProviderTest extends BaseTest {
-
-
- @Test
- public void an_object_can_be_read() {
-
- JSONObject book = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book[0]");
-
- assertThat(book.get("author").toString()).isEqualTo("Nigel Rees");
- }
-
- @Test
- public void a_property_can_be_read() {
-
- String category = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book[0].category");
-
- assertThat(category).isEqualTo("reference");
- }
-
- @Test
- public void a_filter_can_be_applied() {
-
- JSONArray fictionBooks = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book[?(@.category == 'fiction')]");
-
- assertThat(fictionBooks.length()).isEqualTo(3);
- }
-
- @Test
- public void result_can_be_mapped_to_object() {
-
- List<Map<String, Object>> books = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book", List.class);
-
- assertThat(books.size()).isEqualTo(4);
- }
-}

65
json-path-2.1.0.pom Normal file
View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.1.0</version>
<name>Json Path</name>
<description>Java port of Stefan Goessner JsonPath.</description>
<url>https://github.com/jayway/JsonPath</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>kalle.stenflo</id>
<name>Kalle Stenflo</name>
<email>kalle.stenflo (a) gmail.com</email>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/jayway/JsonPath.git</connection>
<developerConnection>scm:git:git://github.com/jayway/JsonPath.git</developerConnection>
<url>scm:git:git://github.com/jayway/JsonPath.git</url>
</scm>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

BIN
json-path-2.1.0.tar.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path-assert</artifactId>
<version>2.1.0</version>
<name>JsonPath Assert</name>
<description>Assertions on Json using JsonPath</description>
<url>https://github.com/jayway/JsonPath</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>kalle.stenflo</id>
<name>Kalle Stenflo</name>
<email>kalle.stenflo (a) gmail.com</email>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/jayway/JsonPath.git</connection>
<developerConnection>scm:git:git://github.com/jayway/JsonPath.git</developerConnection>
<url>scm:git:git://github.com/jayway/JsonPath.git</url>
</scm>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

109
json-path.spec Normal file
View File

@ -0,0 +1,109 @@
Name: json-path
Version: 2.1.0
Release: 1
Summary: Java JsonPath implementation
License: ASL 2.0 and BSD
URL: https://github.com/jayway/JsonPath
Source0: https://github.com/jayway/JsonPath/archive/json-path-%{version}.tar.gz
Source1: https://repo1.maven.org/maven2/com/jayway/jsonpath/json-path/%{version}/json-path-%{version}.pom
Source2: https://repo1.maven.org/maven2/com/jayway/jsonpath/json-path-assert/%{version}/json-path-assert-%{version}.pom
Patch0: %{name}-2.1.0-JsonOrg.patch
BuildRequires: maven-local mvn(com.fasterxml.jackson.core:jackson-databind)
BuildRequires: mvn(com.google.code.gson:gson) mvn(commons-io:commons-io) mvn(junit:junit)
BuildRequires: mvn(net.minidev:json-smart) mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.assertj:assertj-core) mvn(org.hamcrest:hamcrest-library)
BuildRequires: mvn(org.slf4j:slf4j-api) mvn(org.slf4j:slf4j-simple)
BuildArch: noarch
%description
Java DSL for reading and testing JSON documents.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n JsonPath-%{name}-%{version}
find -type f -name *.jar -print -delete
find -type f -name *.class -print -delete
cp -p %{SOURCE1} %{name}/pom.xml
cp -p %{SOURCE2} %{name}-assert/pom.xml
%patch0 -p1
rm -rf %{name}/src/main/java/com/jayway/jsonpath/spi/json/JsonOrg*.java \
%{name}/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrg*.java \
%{name}/src/test/java/com/jayway/jsonpath/JsonOrg*.java
%pom_remove_dep org.json:json %{name}
cat > pom.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>%{name}-parent</artifactId>
<version>%{version}</version>
<packaging>pom</packaging>
<name>Java JsonPath implementation</name>
<modules>
<module>%{name}</module>
<module>%{name}-assert</module>
</modules>
</project>
EOF
for p in %{name} %{name}-assert ;do
%pom_xpath_inject "pom:project" "<packaging>bundle</packaging>" ${p}
%pom_add_plugin "org.apache.maven.plugins:maven-jar-plugin:2.4" ${p} "
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>"
%pom_add_plugin org.apache.felix:maven-bundle-plugin:2.3.7 ${p} '
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
<Bundle-Name>${project.name}</Bundle-Name>
<Bundle-Version>${project.version}</Bundle-Version>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>'
done
%pom_add_dep junit:junit:4.12:test %{name}
%pom_add_dep org.assertj:assertj-core:2.1.0:test %{name}
%pom_add_dep org.hamcrest:hamcrest-library:1.3:test %{name}
%pom_add_dep junit:junit:4.12:test %{name}-assert
for s in %{name}/src/test/java/com/jayway/jsonpath/old/internal/ScanPathTokenTest.java;do
native2ascii -encoding UTF8 ${s} ${s}
done
%mvn_file :%{name} %{name}
%mvn_file :%{name}-assert %{name}-assert
%mvn_package :%{name}-parent __noinstall
%build
%mvn_build -- -Dproject.build.sourceEncoding=UTF-8
%install
%mvn_install
%files -f .mfiles
%doc README.md
%license LICENSE
%files javadoc -f .mfiles-javadoc
%license LICENSE
%changelog
* Mon Aug 24 2020 wangchong <wangchong56@huawei.com> - 2.1.0-1
- package init

4
json-path.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: jayway/JsonPath
tag_prefix: "json-path-"
seperator: "."