Author: sebb
Date: Mon Oct 24 18:52:58 2011
New Revision: 1188290

URL: http://svn.apache.org/viewvc?rev=1188290&view=rev
Log:
Assume nothing about input Map

Modified:
    
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java
    
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/MapProperty.java

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java?rev=1188290&r1=1188289&r2=1188290&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java
 (original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java
 Mon Oct 24 18:52:58 2011
@@ -311,7 +311,7 @@ public abstract class AbstractProperty i
      * Given a Map, it converts the Map into a collection of JMeterProperty
      * objects, appropriate for a MapProperty object.
      */
-    protected Map<String, JMeterProperty> normalizeMap(Map<String,?> coll) {
+    protected Map<String, JMeterProperty> normalizeMap(Map<?,?> coll) {
         if (coll.isEmpty()) {
             @SuppressWarnings("unchecked") // empty collection ok to cast
             Map<String, JMeterProperty> emptyColl = (Map<String, 
JMeterProperty>) coll;
@@ -320,9 +320,18 @@ public abstract class AbstractProperty i
         try {
             @SuppressWarnings("unchecked") // empty collection
             Map<String, JMeterProperty> newColl = 
coll.getClass().newInstance();
-            for (Map.Entry<String,?> entry : ((Map<String,?>)coll).entrySet()) 
{
-                String item = entry.getKey();
+            for (Map.Entry<?,?> entry : ((Map<?,?>)coll).entrySet()) {
+                Object key = entry.getKey();
                 Object prop = entry.getValue();
+                String item=null;
+                if (key instanceof String) {
+                    item = (String) key;
+                } else {
+                    if (key != null) {
+                        log.error("Expected key type String, found: 
"+key.getClass().getName());
+                        item = key.toString();
+                    }
+                }
                 newColl.put(item, convertObject(prop));
             }
             return newColl;

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/MapProperty.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/MapProperty.java?rev=1188290&r1=1188289&r2=1188290&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/MapProperty.java
 (original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/property/MapProperty.java
 Mon Oct 24 18:52:58 2011
@@ -30,7 +30,7 @@ public class MapProperty extends MultiPr
 
     private transient Map<String, JMeterProperty> savedValue = null;
 
-    public MapProperty(String name, Map value) {
+    public MapProperty(String name, Map<?,?> value) {
         super(name);
         log.info("map = " + value);
         this.value = normalizeMap(value);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to