{"record":{"id":"fca935c932230583","repo":"pentaho/pentaho-kettle","slug":"deprecated","errorCode":null,"errorMessage":"deprecated","messagePattern":"deprecated","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"warning","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/textfileinput/InputFileMetaInterface.java","lineNumber":41,"sourceCode":" * @deprecated replaced by implementation in the ...steps.fileinput.text package\n */\n@Deprecated\npublic interface InputFileMetaInterface extends StepMetaInterface {\n\n  public TextFileInputField[] getInputFields();\n\n  public int getFileFormatTypeNr();\n\n  public boolean hasHeader();\n\n  public int getNrHeaderLines();\n\n  /**\n   * @deprecated replaced by getFilePaths( Bowl bowl, VariableSpace space )\n   */\n  @Deprecated\n  default String[] getFilePaths( VariableSpace space ) {\n    throw new UnsupportedOperationException( \"deprecated\" );\n  }\n\n  default String[] getFilePaths( Bowl bowl, VariableSpace space ) {\n    return getFilePaths( space );\n  }\n\n  public boolean isErrorIgnored();\n\n  public String getErrorCountField();\n\n  public String getErrorFieldsField();\n\n  public String getErrorTextField();\n\n  public String getFileType();\n\n  public String getEnclosure();\n","sourceCodeStart":23,"sourceCodeEnd":59,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/textfileinput/InputFileMetaInterface.java#L23-L59","documentation":"The deprecated default getFilePaths(VariableSpace space) method on InputFileMetaInterface throws UnsupportedOperationException(\"deprecated\") as its only implementation. Callers must use implementations that override it, or migrate to the Bowl-aware variant getFilePaths(Bowl bowl, VariableSpace space). Any legacy implementation (or reflective caller) that still routes through the default method fails at runtime.","triggerScenarios":"Calling getFilePaths(space) on an InputFileMetaInterface whose type does not override the deprecated method — the default body throws. Also thrown by the default getFilePaths(Bowl, VariableSpace) if it delegates back to the deprecated default.","commonSituations":"Plugin or custom code written against the old TextFileInputMeta API after the interface added Bowl-based dispatch; third-party step implementations that never overrode the deprecated overload; version upgrade to a Pentaho release that deprecated the space-only signature.","solutions":["Use the new signature getFilePaths(Bowl bowl, VariableSpace space) instead of the space-only overload.","Update the implementing metadata class to override getFilePaths and supply the real file-path resolution logic.","Replace usages of the deprecated TextFileInput step APIs with the modern equivalents (TextFileInput2 / file input metadata).","If you cannot change the implementation yet, wrap the call and surface a clear migration error instead of UnsupportedOperationException."],"exampleFix":"// before\nString[] files = inputFileMeta.getFilePaths(space); // UnsupportedOperationException\n// after\nString[] files = inputFileMeta.getFilePaths(bowl, space);","handlingStrategy":"fallback","validationCode":"// detect the unsupported deprecated path\nString[] paths;\ntry { paths = meta.getFilePaths(space); }\ncatch (UnsupportedOperationException e) { paths = meta.getFilePaths(bowl, space); }","typeGuard":"// use the Bowl-aware entry point directly\nif (bowl != null) { files = meta.getFilePaths(bowl, space); }","tryCatchPattern":"try { files = legacyMeta.getFilePaths(space); }\ncatch (UnsupportedOperationException e) { files = migrateAndResolve(bowl, space); }","preventionTips":["Compile against the current interface and implement all default methods","Search code for getFilePaths(VariableSpace) usages when upgrading Pentaho","Favor the Bowl-based API in new plugin code"],"tags":["kettle","deprecated-api","unsupported-operation","java"],"backgroundTag":"deprecated-api-usage","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}