Github user ottobackwards commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2760#discussion_r193132823
--- Diff:
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchHttp.java
---
@@ -288,42 +290,23 @@ public void onTrigger(final ProcessContext context,
final ProcessSession session
session.read(file, in -> {
json.append(IOUtils.toString(in, charset).replace("\r\n",
" ").replace('\n', ' ').replace('\r', ' '));
});
- if (indexOp.equalsIgnoreCase("index")) {
- sb.append("{\"index\": { \"_index\": \"");
- sb.append(index);
- sb.append("\", \"_type\": \"");
- sb.append(docType);
- sb.append("\"");
- if (!StringUtils.isEmpty(id)) {
- sb.append(", \"_id\": \"");
- sb.append(id);
- sb.append("\"");
- }
- sb.append("}}\n");
- sb.append(json);
- sb.append("\n");
- } else if (indexOp.equalsIgnoreCase("upsert") ||
indexOp.equalsIgnoreCase("update")) {
- sb.append("{\"update\": { \"_index\": \"");
- sb.append(index);
- sb.append("\", \"_type\": \"");
- sb.append(docType);
- sb.append("\", \"_id\": \"");
- sb.append(id);
- sb.append("\" }\n");
- sb.append("{\"doc\": ");
- sb.append(json);
- sb.append(", \"doc_as_upsert\": ");
- sb.append(indexOp.equalsIgnoreCase("upsert"));
- sb.append(" }\n");
- } else if (indexOp.equalsIgnoreCase("delete")) {
- sb.append("{\"delete\": { \"_index\": \"");
- sb.append(index);
- sb.append("\", \"_type\": \"");
- sb.append(docType);
- sb.append("\", \"_id\": \"");
- sb.append(id);
- sb.append("\" }\n");
+
+ String jsonString = json.toString();
+
+ // Ensure the JSON body is well-formed
+ try {
--- End diff --
mapper should be static
---