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]

Reply via email to