diff --git a/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java b/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java index 29fc3bcb5..094a81072 100644 --- a/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java +++ b/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java @@ -4,14 +4,15 @@ */ package com.jme3.gde.blender.filetypes; +import com.jme3.asset.BlenderKey; +import com.jme3.asset.ModelKey; import com.jme3.gde.blender.BlenderTool; import com.jme3.gde.core.assets.ProjectAssetManager; import com.jme3.gde.core.assets.SpatialAssetDataObject; +import com.jme3.gde.core.util.Beans; import com.jme3.scene.Spatial; +import com.jme3.scene.plugins.ogre.OgreMeshKey; import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; import java.util.logging.Level; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -63,12 +64,14 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb i++; blend1File = FileUtil.findBrother(mainFile, BlenderTool.TEMP_SUFFIX + i); } - String assetKey = mgr.getRelativeAssetPath(outFile.getPath()); + String assetKeyName = mgr.getRelativeAssetPath(outFile.getPath()); + BlenderKey key = new BlenderKey(assetKeyName); + Beans.copyProperties(key, getAssetKey()); FileLock lock = null; try { lock = getPrimaryFile().lock(); listListener.start(); - Spatial spatial = mgr.loadModel(assetKey); + Spatial spatial = mgr.loadModel(assetKeyName); replaceFiles(); listListener.stop(); savable = spatial; @@ -89,6 +92,15 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb return null; } + @Override + public synchronized ModelKey getAssetKey() { + if(super.getAssetKey() instanceof BlenderKey){ + return (BlenderKey)assetKey; + } + assetKey = new BlenderKey(super.getAssetKey().getName()); + return (BlenderKey)assetKey; + } + protected void replaceFiles() { for (int i = 0; i < assetList.size(); i++) { FileObject fileObject = assetList.get(i);