From c0f46d97c546cc43480f76cf822020bc6fa990b6 Mon Sep 17 00:00:00 2001 From: "Kae..pl" Date: Wed, 1 Jan 2014 15:38:41 +0000 Subject: [PATCH] Tests: added a method that returns the known blender primary types names. This will be needed in unit tests. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10949 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../scene/plugins/blender/file/Structure.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/file/Structure.java b/engine/src/blender/com/jme3/scene/plugins/blender/file/Structure.java index ffbba0849..3a6efc2fa 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/file/Structure.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/file/Structure.java @@ -31,13 +31,14 @@ */ package com.jme3.scene.plugins.blender.file; -import com.jme3.scene.plugins.blender.BlenderContext; - +import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.jme3.scene.plugins.blender.BlenderContext; + /** * A class representing a single structure in the file. * @author Marcin Roguski @@ -71,7 +72,7 @@ public class Structure implements Cloneable { fields[i] = (Field) structure.fields[i].clone(); } this.blenderContext = blenderContext; - this.oldMemoryAddress = structure.oldMemoryAddress; + oldMemoryAddress = structure.oldMemoryAddress; } /** @@ -93,7 +94,7 @@ public class Structure implements Cloneable { this.blenderContext = blenderContext; int fieldsAmount = inputStream.readShort(); if (fieldsAmount < 0) { - throw new BlenderFileException("The amount of fields of " + this.type + " structure cannot be negative!"); + throw new BlenderFileException("The amount of fields of " + type + " structure cannot be negative!"); } if (fieldsAmount > 0) { fields = new Field[fieldsAmount]; @@ -103,7 +104,7 @@ public class Structure implements Cloneable { fields[i] = new Field(names[nameIndex], types[typeIndex], blenderContext); } } - this.oldMemoryAddress = Long.valueOf(-1L); + oldMemoryAddress = Long.valueOf(-1L); } /** @@ -117,7 +118,7 @@ public class Structure implements Cloneable { public void fill(BlenderInputStream inputStream) throws BlenderFileException { int position = inputStream.getPosition(); inputStream.setPosition(position - 8 - inputStream.getPointerSize()); - this.oldMemoryAddress = Long.valueOf(inputStream.readPointer()); + oldMemoryAddress = Long.valueOf(inputStream.readPointer()); inputStream.setPosition(position); for (Field field : fields) { field.fill(inputStream); @@ -173,7 +174,7 @@ public class Structure implements Cloneable { * this exception is thrown if the type of the structure is not 'ListBase' */ public List evaluateListBase(BlenderContext blenderContext) throws BlenderFileException { - if (!"ListBase".equals(this.type)) { + if (!"ListBase".equals(type)) { throw new IllegalStateException("This structure is not of type: 'ListBase'"); } Pointer first = (Pointer) this.getFieldValue("first"); @@ -270,7 +271,7 @@ public class Structure implements Cloneable { * This enum enumerates all known data types that can be found in the blend file. * @author Marcin Roguski (Kaelthas) */ - /* package */ static enum DataType { + /* package */static enum DataType { CHARACTER, SHORT, INTEGER, LONG, FLOAT, DOUBLE, VOID, STRUCTURE, POINTER; /** The map containing the known primary types. */ @@ -311,5 +312,12 @@ public class Structure implements Cloneable { } throw new BlenderFileException("Unknown data type: " + type); } + + /** + * @return a collection of known primary types names + */ + /* package */Collection getKnownPrimaryTypesNames() { + return PRIMARY_TYPES.keySet(); + } } }