Commit 6eff6b67 by Madhan Neethiraj

ATLAS-2324: fix incorrect JSON parsing in V1 entity-update/create REST API

parent 15c5434d
......@@ -141,24 +141,24 @@ public class EntityResource {
String entities = Servlets.getRequestPayload(request);
//Handle backward compatibility - if entities is not JSONArray, convert to JSONArray
ArrayNode jsonEntities = null;
String[] jsonStrings;
try {
jsonEntities = AtlasJson.parseToV1ArrayNode(entities);
} catch (IOException e) {
jsonEntities = AtlasJson.createV1ArrayNode();
ArrayNode jsonEntities = AtlasJson.parseToV1ArrayNode(entities);
jsonEntities.add(entities);
}
String[] jsonStrings = new String[jsonEntities.size()];
jsonStrings = new String[jsonEntities.size()];
for (int i = 0; i < jsonEntities.size(); i++) {
jsonStrings[i] = jsonEntities.get(i).asText();
jsonStrings[i] = AtlasJson.toV1Json(jsonEntities.get(i));
}
} catch (IOException e) {
jsonStrings = new String[1];
jsonStrings[0] = entities;
}
if (LOG.isDebugEnabled()) {
LOG.debug("submitting entities {} ", jsonEntities);
LOG.debug("submitting entities: count={}; entities-json={}", jsonStrings.length, entities);
}
AtlasEntitiesWithExtInfo entitiesInfo = restAdapters.toAtlasEntities(jsonStrings);
......@@ -265,11 +265,15 @@ public class EntityResource {
String[] jsonStrings = new String[jsonEntities.size()];
for (int i = 0; i < jsonEntities.size(); i++) {
jsonStrings[i] = jsonEntities.get(i).asText();
jsonStrings[i] = AtlasJson.toV1Json(jsonEntities.get(i));
}
if (LOG.isDebugEnabled()) {
LOG.info("updating entities {} ", entityJson);
LOG.debug("updateEntities(): count={}, entityJson={} ", jsonEntities.size(), entityJson);
for (int i = 0; i < jsonStrings.length; i++) {
LOG.debug("updateEntities(): entity[{}]={}", i, jsonStrings[i]);
}
}
AtlasEntitiesWithExtInfo entitiesInfo = restAdapters.toAtlasEntities(jsonStrings);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment