From cb8d34bf26a1572d4f1254ddd21bc5775bb2a184 Mon Sep 17 00:00:00 2001
From: Jaemyoun <jaemyoun@gmail.com>
Date: Mon, 21 Mar 2016 18:29:28 +0900
Subject: [PATCH] fix JSONObject bug

---
 rados/src/main/java/com/yahoo/ycsb/db/RadosClient.java | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/rados/src/main/java/com/yahoo/ycsb/db/RadosClient.java b/rados/src/main/java/com/yahoo/ycsb/db/RadosClient.java
index a53ec836..c9c7bda1 100644
--- a/rados/src/main/java/com/yahoo/ycsb/db/RadosClient.java
+++ b/rados/src/main/java/com/yahoo/ycsb/db/RadosClient.java
@@ -16,11 +16,13 @@ import com.yahoo.ycsb.StringByteIterator;
 
 import java.io.File;
 import java.util.HashMap;
+import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.Set;
 import java.util.Vector;
 
 import org.json.JSONObject;
+// import org.json.JSONString;
 
 /**
  * YCSB binding for <a href="http://redis.io/">Redis</a>.
@@ -98,6 +100,7 @@ public class RadosClient extends DB {
 
     for (String name : fieldsToReturn) {
       result.put(name, new StringByteIterator(json.getString(name)));
+      // result.put(name, new StringByteIterator(json.getJSONString(name).getString()));
     }
 
     return result.isEmpty() ? Status.ERROR : Status.OK;
@@ -105,7 +108,12 @@ public class RadosClient extends DB {
 
   @Override
   public Status insert(String table, String key, HashMap<String, ByteIterator> values) {
-    JSONObject json = new JSONObject(values);
+    // JSONObject json = new JSONObject(values);
+
+    JSONObject json = new JSONObject();
+    for (final Entry<String, ByteIterator> e : values.entrySet()) {
+      json.put(e.getKey(), e.getValue().toString());
+    }
 
     try {
       ioctx.write(key, json.toString());
-- 
GitLab