AliRana30 opened a new pull request, #804: URL: https://github.com/apache/wayang/pull/804
## Description Closes #732 In `ProjectionDescriptor.java`, the private static method `createPojoJavaImplementation` declared an unused parameter `final BasicDataUnitType<Input> inputType`. Unlike `createRecordJavaImplementation` (which requires `RecordType` to map field names to indices), POJO projections resolve fields via reflection on the POJO object at runtime and only require the field name. ### Changes - Removed the unused `inputType` parameter from `createPojoJavaImplementation(final String[] fieldNames)` and updated its single call site in `ProjectionDescriptor`. - Marked `Field field` as `transient` in `PojoImplementation` to prevent `NotSerializableException` when the `SerializableFunction` is serialized across tasks/JVMs after execution. - Added a `null` check in `PojoImplementation.apply` to return `null` if the input object is `null`. - Expanded `ProjectionDescriptorTest` with test cases for `null` inputs, multi-field error handling, non-existent field error handling, and serialization round-trips. ## Type of Change - [x] Bug fix / Code cleanup (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update ## How Has This Been Tested? - Ran all tests in `ProjectionDescriptorTest` (5/5 passed). - Ran all module unit tests in `wayang-basic` (19/19 passed). - Verified compilation of downstream dependent modules (`wayang-spark`). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
