leehaut opened a new issue, #8500:
URL: https://github.com/apache/hop/issues/8500

   ### Apache Hop version?
   
   2.20.0
   
   ### Java version?
   
   openjdk 21
   
   ### Operating system
   
   Windows
   
   ### What happened?
   
   
   ## What happened?
   
   CSV Input can read the filename from an upstream field. When the transform 
has a hop from a previous transform:
   
   - the dialog switches from a filename text box to a **Filename field** 
dropdown
   - at runtime the transform reads each incoming row’s field as a file path
   
   **Verify this pipeline (F7)** still treats any incoming hop as a 
configuration error. A valid “filename from field” pipeline therefore shows two 
ERROR remarks, even though the dialog and execution match.
   
   Observed Problems text (ERROR severity; the wording itself does not say 
“error”):
   ```text
   Transform is connected to previous one
   receiving 1 fieldsTransform is receiving info from other transforms.
   ```
   
   ## Steps to reproduce
   
   1. Create a pipeline: **Generate rows** → **CSV Input** → (optional Dummy).
   2. In Generate rows: add one String field, e.g. `csv_path`, with a CSV file 
path.
   3. Open CSV Input: the dialog should show **Filename field** (not a static 
filename). Set it to `csv_path` and map the CSV columns.
   4. Press **Verify this pipeline (F7)**.
   
   ## Expected behavior
   
   F7 should treat incoming hops as valid when a filename field is configured. 
It should check that the filename field exists in the previous row meta, not 
report “receiving input” as an error.
   
   When there is **no** previous transform, F7 may still warn/error if a static 
filename is missing.
   
   ## Actual behavior
   
   `CsvInputMeta.check()` always marks incoming fields/hops as 
`TYPE_RESULT_ERROR`:
   
   ```java
   // plugins/transforms/textfile/.../csvinput/CsvInputMeta.java
   if (prev == null || prev.isEmpty()) {
     cr = new CheckResult(ICheckResult.TYPE_RESULT_OK, /* NotReceivingFields 
*/);
   } else {
     cr = new CheckResult(ICheckResult.TYPE_RESULT_ERROR, /* 
TransformRecevingData */);
   }
   if (input.length > 0) {
     cr = new CheckResult(ICheckResult.TYPE_RESULT_ERROR, /* 
TransformRecevingData2 */);
   } else {
     cr = new CheckResult(ICheckResult.TYPE_RESULT_OK, /* 
NoInputReceivedFromOtherTransforms */);
   }
   
   ### Issue Priority
   
   Priority: 3
   
   ### Issue Component
   
   Component: Hop Gui


-- 
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