This is an automated email from the ASF dual-hosted git repository. martinzink pushed a commit to branch minifi_rust_pgp in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 1026d341dcfea97424ed436b97578977adcf58cc Author: Martin Zink <[email protected]> AuthorDate: Tue Aug 18 09:43:20 2026 +0200 review changes --- .../minifi_rs_playground/src/processors/asciify_german/tests.rs | 5 ++++- minifi_rust/minifi_native/src/api/errors.rs | 2 +- .../src/api/processor_wrappers/flow_file_stream_transform.rs | 3 ++- .../src/api/processor_wrappers/flow_file_transform.rs | 2 +- minifi_rust/minifi_native/src/c_ffi/c_ffi_process_session.rs | 8 ++++---- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/minifi_rust/extensions/minifi_rs_playground/src/processors/asciify_german/tests.rs b/minifi_rust/extensions/minifi_rs_playground/src/processors/asciify_german/tests.rs index 1a2a77d60..6ee76de72 100644 --- a/minifi_rust/extensions/minifi_rs_playground/src/processors/asciify_german/tests.rs +++ b/minifi_rust/extensions/minifi_rs_playground/src/processors/asciify_german/tests.rs @@ -84,5 +84,8 @@ fn truncated_umlaut_at_eof_routes_to_failure() { let mut output_vec: Vec<u8> = Vec::new(); let result = asciify_german.transform(&context, &mut input_stream, &mut output_vec, &logger); - assert!(result.is_err()); + match result { + Err(ProcessError::Route(route)) => assert_eq!(route.relationship.as_ref(), FAILURE.name), + other => panic!("expected a route error to failure, got {other:?}"), + } } diff --git a/minifi_rust/minifi_native/src/api/errors.rs b/minifi_rust/minifi_native/src/api/errors.rs index 9e5749fcc..b2b4230d6 100644 --- a/minifi_rust/minifi_native/src/api/errors.rs +++ b/minifi_rust/minifi_native/src/api/errors.rs @@ -259,7 +259,7 @@ impl fmt::Display for MinifiError { } _ => write!(f, "{} (Unknown Status Code: {})", context, code), }, - MinifiError::Other(err) => write!(f, "Custom error: {}", err), + MinifiError::Other(err) => write!(f, "{}", err), MinifiError::ValidationError(msg) => write!(f, "{}", msg), _ => write!(f, "{:?}", self), } diff --git a/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_stream_transform.rs b/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_stream_transform.rs index 5b6a2643a..52a6fe0db 100644 --- a/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_stream_transform.rs +++ b/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_stream_transform.rs @@ -26,6 +26,7 @@ use crate::{ }; use std::borrow::Cow; +#[derive(Debug)] pub struct TransformStreamResult { target_relationship_name: Cow<'static, str>, attributes_to_add: Vec<FlowFileAttribute>, @@ -60,7 +61,7 @@ impl TransformStreamResult { pub fn get_attribute(&self, name: &str) -> Option<&str> { self.attributes_to_add .iter() - .find(|(k, _)| k == name) + .rfind(|(k, _)| k == name) .map(|(_, v)| v.as_ref()) } diff --git a/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_transform.rs b/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_transform.rs index 462b70973..30e68599f 100644 --- a/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_transform.rs +++ b/minifi_rust/minifi_native/src/api/processor_wrappers/flow_file_transform.rs @@ -81,7 +81,7 @@ impl<'a> TransformedFlowFile<'a> { pub fn attribute(&self, name: &str) -> Option<&str> { self.attributes_to_add .iter() - .find(|(k, _)| k == name) + .rfind(|(k, _)| k == name) .map(|(_, v)| v.as_ref()) } diff --git a/minifi_rust/minifi_native/src/c_ffi/c_ffi_process_session.rs b/minifi_rust/minifi_native/src/c_ffi/c_ffi_process_session.rs index a2207ca85..9bed92bd6 100644 --- a/minifi_rust/minifi_native/src/c_ffi/c_ffi_process_session.rs +++ b/minifi_rust/minifi_native/src/c_ffi/c_ffi_process_session.rs @@ -541,10 +541,6 @@ impl<'a> ProcessSession for CffiProcessSession<'a> { &mut ctx as *mut _ as *mut c_void, ); - if let Some(result) = ctx.result.take() { - return result; - } - if status != minifi_status_MINIFI_STATUS_SUCCESS { return Err(MinifiError::StatusError(( "minifi_process_session_read".into(), @@ -552,6 +548,10 @@ impl<'a> ProcessSession for CffiProcessSession<'a> { ))); } + if let Some(result) = ctx.result.take() { + return result; + } + Err(MinifiError::UnknownError) } }
