package edu.isi.karma.controller.update;
import java.io.PrintWriter;
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import edu.isi.karma.view.VWorkspace;
public class FetchResultUpdate extends AbstractUpdate {
private String hNodeId;
private HashMap<String, HashMap<String, String>> rawData;
public enum JsonKeys {
worksheetId, hNodeId, result
}
private static Logger logger = LoggerFactory
.getLogger(CleaningResultUpdate.class);
public FetchResultUpdate(String HNodeId,HashMap<String, HashMap<String, String>> rows)
{
this.hNodeId = HNodeId;
rawData = rows;
}
@Override
public void generateJson(String prefix, PrintWriter pw,
VWorkspace vWorkspace)
{
JSONObject obj = new JSONObject();
try {
obj.put(GenericJsonKeys.updateType.name(), getUpdateType());
obj.put(JsonKeys.hNodeId.name(), hNodeId);
JSONArray jsa = new JSONArray();
JSONObject jso = new JSONObject(this.rawData);
JSONObject j = new JSONObject();
j.put("data", jso);
jsa.put(j);
obj.put(JsonKeys.result.name(), jsa);
pw.print(obj.toString(4));
} catch (JSONException e) {
logger.error("Error generating JSON!", e);
}
}
}