소스 검색

partial revert of PR #2060 (JSON parser abstraction) (#2278)

Stephen Gold 1 년 전
부모
커밋
9a11aa60f4

+ 2 - 2
jme3-examples/build.gradle

@@ -24,8 +24,8 @@ dependencies {
     implementation project(':jme3-networking')
     implementation project(':jme3-niftygui')
     implementation project(':jme3-plugins')
-    implementation project(':jme3-plugins-json')
-    implementation project(':jme3-plugins-json-gson')
+//    implementation project(':jme3-plugins-json')
+//    implementation project(':jme3-plugins-json-gson')
     implementation project(':jme3-terrain')
     implementation project(':jme3-awt-dialogs')
     runtimeOnly project(':jme3-testdata')

+ 1 - 2
jme3-plugins/build.gradle

@@ -11,7 +11,6 @@ sourceSets {
 
 dependencies {
     api project(':jme3-core')
-    implementation project(':jme3-plugins-json')
-    implementation project(':jme3-plugins-json-gson')
+    api 'com.google.code.gson:gson:2.9.1'
     testRuntimeOnly project(':jme3-desktop')
 }

+ 3 - 4
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/CustomContentManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2023 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,10 +31,9 @@
  */
 package com.jme3.scene.plugins.gltf;
 
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
 import com.jme3.asset.AssetLoadException;
-import com.jme3.plugins.json.JsonArray;
-import com.jme3.plugins.json.JsonElement;
-
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;

+ 2 - 3
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/ExtensionLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2021 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +31,7 @@
  */
 package com.jme3.scene.plugins.gltf;
 
-
-import com.jme3.plugins.json.JsonElement;
+import com.google.gson.JsonElement;
 import java.io.IOException;
 
 /**

+ 2 - 1
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/ExtrasLoader.java

@@ -30,7 +30,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 package com.jme3.scene.plugins.gltf;
-import com.jme3.plugins.json.JsonElement;
+
+import com.google.gson.JsonElement;
 
 /**
  * Interface to handle a glTF extra.

+ 8 - 6
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/GltfLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2023 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,10 +31,12 @@
  */
 package com.jme3.scene.plugins.gltf;
 
-import com.jme3.plugins.json.JsonArray;
-import com.jme3.plugins.json.JsonObject;
-import com.jme3.plugins.json.JsonPrimitive;
-import com.jme3.plugins.json.JsonElement;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonParser;
+import com.google.gson.stream.JsonReader;
 import com.jme3.anim.*;
 import com.jme3.asset.*;
 import com.jme3.material.Material;
@@ -121,7 +123,7 @@ public class GltfLoader implements AssetLoader {
                 defaultMat.setFloat("Roughness", 1f);
             }
 
-            docRoot = parse(stream);
+            docRoot = JsonParser.parseReader(new JsonReader(new InputStreamReader(stream))).getAsJsonObject();
 
             JsonObject asset = docRoot.getAsJsonObject().get("asset").getAsJsonObject();
             getAsString(asset, "generator");

+ 5 - 18
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/GltfUtils.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2021 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,15 +31,13 @@
  */
 package com.jme3.scene.plugins.gltf;
 
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
 import com.jme3.asset.AssetInfo;
 import com.jme3.asset.AssetLoadException;
 import com.jme3.math.*;
 import com.jme3.scene.*;
-import com.jme3.plugins.json.Json;
-import com.jme3.plugins.json.JsonParser;
-import com.jme3.plugins.json.JsonArray;
-import com.jme3.plugins.json.JsonObject;
-import com.jme3.plugins.json.JsonElement;
 import com.jme3.texture.Texture;
 import com.jme3.util.*;
 import java.io.*;
@@ -61,18 +59,7 @@ public class GltfUtils {
     private GltfUtils() {
     }
 
-  
-    /**
-     * Parse a json input stream and returns a {@link JsonObject}
-     * @param stream the stream to parse
-     * @return the JsonObject
-     */
-    public static JsonObject parse(InputStream stream) {
-        JsonParser parser = Json.create();
-        return parser.parse(stream);
-    }
-
-    public static Mesh.Mode getMeshMode(Integer mode) {
+      public static Mesh.Mode getMeshMode(Integer mode) {
         if (mode == null) {
             return Mesh.Mode.Triangles;
         }

+ 4 - 4
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/LightsPunctualExtensionLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2021 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,9 +31,9 @@
  */
 package com.jme3.scene.plugins.gltf;
 
-import com.jme3.plugins.json.JsonArray;
-import com.jme3.plugins.json.JsonObject;
-import com.jme3.plugins.json.JsonElement;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
 import com.jme3.asset.AssetLoadException;
 import com.jme3.light.DirectionalLight;
 import com.jme3.light.Light;

+ 2 - 2
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/PBREmissiveStrengthExtensionLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 jMonkeyEngine
+ * Copyright (c) 2023-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,7 @@
 package com.jme3.scene.plugins.gltf;
 
 import com.jme3.asset.AssetKey;
-import com.jme3.plugins.json.JsonElement;
+import com.google.gson.JsonElement;
 import java.io.IOException;
 
 /**

+ 2 - 2
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/PBRSpecGlossExtensionLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@ package com.jme3.scene.plugins.gltf;
 import com.jme3.asset.AssetKey;
 
 import java.io.IOException;
-import com.jme3.plugins.json.JsonElement;
+import com.google.gson.JsonElement;
 import static com.jme3.scene.plugins.gltf.GltfUtils.getAsColor;
 import static com.jme3.scene.plugins.gltf.GltfUtils.getAsFloat;
 

+ 4 - 4
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/TextureTransformExtensionLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2022 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,9 +31,9 @@
  */
 package com.jme3.scene.plugins.gltf;
 
-import com.jme3.plugins.json.JsonArray;
-import com.jme3.plugins.json.JsonObject;
-import com.jme3.plugins.json.JsonElement;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
 import com.jme3.asset.AssetLoadException;
 import com.jme3.math.Matrix3f;
 import com.jme3.math.Vector3f;

+ 3 - 2
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/UnlitExtensionLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2021 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -30,7 +30,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 package com.jme3.scene.plugins.gltf;
-import com.jme3.plugins.json.JsonElement;
+
+import com.google.gson.JsonElement;
 import com.jme3.asset.AssetKey;
 
 /**

+ 5 - 5
jme3-plugins/src/gltf/java/com/jme3/scene/plugins/gltf/UserDataLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2023 jMonkeyEngine
+ * Copyright (c) 2009-2024 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,10 +32,10 @@
 
 package com.jme3.scene.plugins.gltf;
 
-import com.jme3.plugins.json.JsonArray;
-import com.jme3.plugins.json.JsonElement;
-import com.jme3.plugins.json.JsonObject;
-import com.jme3.plugins.json.JsonPrimitive;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
 import com.jme3.scene.Spatial;
 
 import java.lang.reflect.Array;