Github user phrocker commented on a diff in the pull request:
https://github.com/apache/nifi-minifi-cpp/pull/191#discussion_r151568632
--- Diff: extensions/libarchive/UnfocusArchiveEntry.cpp ---
@@ -67,55 +66,41 @@ void
UnfocusArchiveEntry::onTrigger(core::ProcessContext *context, core::Process
}
fileutils::FileManager file_man;
-
- // Get lens stack from attribute
ArchiveMetadata lensArchiveMetadata;
- Json::Value lensStack;
- Json::Reader reader;
-
- std::string existingLensStack;
-
- if (flowFile->getAttribute("lens.archive.stack", existingLensStack)) {
- logger_->log_info("UnfocusArchiveEntry loading existing lens context");
-
- // TODO(calebj) handle any exceptions that might arise from working
with JSON data
- if (!reader.parse(existingLensStack, lensStack)) {
- logger_->log_error("UnfocusArchiveEntry JSON parse error: %s",
reader.getFormattedErrorMessages());
- context->yield();
- return;
+ // Get lens stack from attribute
+ {
+ ArchiveStack archiveStack;
+ {
+ std::string existingLensStack;
+
+ if (flowFile->getAttribute("lens.archive.stack", existingLensStack))
{
+ logger_->log_info("FocusArchiveEntry loading existing lens
context");
+
+ try {
+ archiveStack.loadJsonString(existingLensStack);
--- End diff --
Should we not give the option to transfer this to failure?
---