Browse Source

Merge pull request #618 from tonihele/feature/jme-3.7-stable

Feature/jme 3.7 stable
Toni Helenius 9 months ago
parent
commit
558dc0a36d
2 changed files with 26 additions and 10 deletions
  1. 1 1
      gradle.properties
  2. 25 9
      jme3-blender/src/com/jme3/gde/blender/GltfExtrasLoader.java

+ 1 - 1
gradle.properties

@@ -3,7 +3,7 @@ jmeVersion = 3.7.0
 # Version used for application and settings folder, no spaces!
 jmeMainVersion = 3.7
 # Version addition pre-alpha-svn, Stable, Beta
-jmeVersionTag = beta1.2.2
+jmeVersionTag = stable
 # Increment this each time jmeVersionTag changes but jmeVersion stays the same
 #jmeVersionTagID = 0
 

+ 25 - 9
jme3-blender/src/com/jme3/gde/blender/GltfExtrasLoader.java

@@ -36,13 +36,15 @@
 
 package com.jme3.gde.blender;
 
+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 java.lang.reflect.Array;
 import java.util.*;
 
 import org.slf4j.*;
 
-import com.google.gson.*;
-
 import com.jme3.scene.Spatial;
 import com.jme3.scene.plugins.gltf.*;
 
@@ -77,11 +79,19 @@ public class GltfExtrasLoader implements ExtrasLoader {
         log.debug("handleExtras(" + loader + ", " + parentName + ", " + parent + ", " + extras + ", " + input + ")");     
 
         // Only interested in composite objects
-        if( !extras.isJsonObject() ) {
+        JsonObject jo = null;
+        try {
+            jo = extras.getAsJsonObject();
+        }
+        catch(Exception e) {
+            log.warn("Skipping extras:" + extras, e);
+        }
+        
+        if(jo == null) {
             log.warn("Skipping extras:" + extras);
             return input; 
         }
-        JsonObject jo = extras.getAsJsonObject();
+        
         apply(input, jo);
         return input;
     }
@@ -120,15 +130,21 @@ public class GltfExtrasLoader implements ExtrasLoader {
     }
  
     protected Object toAttribute( JsonElement el, boolean nested ) {
-        if( el.isJsonObject() ) {
+        try {
             return toAttribute(el.getAsJsonObject(), nested);
-        } else if( el.isJsonArray() ) {
+        } catch (Exception e) {
+        }
+
+        try {
             return toAttribute(el.getAsJsonArray(), nested);
-        } else if( el.isJsonPrimitive() ) {
+        } catch (Exception e) {
+        }
+
+        try {
             return toAttribute(el.getAsJsonPrimitive(), nested);
-        } else if( el.isJsonNull() ) {
-            return null;
+        } catch (Exception e) {
         }
+
         log.warn("Unhandled extras element:" + el);
         return null;       
     }