pentaho/pentaho-kettle · warning · UnsupportedOperationException
deprecated
Error message
deprecated
What it means
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.
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.
Example fix
// before String[] files = inputFileMeta.getFilePaths(space); // UnsupportedOperationException // after String[] files = inputFileMeta.getFilePaths(bowl, space);
Defensive patterns
Strategy: fallback
Validate before calling
// detect the unsupported deprecated path
String[] paths;
try { paths = meta.getFilePaths(space); }
catch (UnsupportedOperationException e) { paths = meta.getFilePaths(bowl, space); } Type guard
// use the Bowl-aware entry point directly
if (bowl != null) { files = meta.getFilePaths(bowl, space); } Try / catch
try { files = legacyMeta.getFilePaths(space); }
catch (UnsupportedOperationException e) { files = migrateAndResolve(bowl, space); } Prevention
- 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
When it happens
Trigger: 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.
Common situations: 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.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/fca935c932230583.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/trans/steps/textfileinput/InputFileMetaInterface.java:41
* @deprecated replaced by implementation in the ...steps.fileinput.text package
*/
@Deprecated
public interface InputFileMetaInterface extends StepMetaInterface {
public TextFileInputField[] getInputFields();
public int getFileFormatTypeNr();
public boolean hasHeader();
public int getNrHeaderLines();
/**
* @deprecated replaced by getFilePaths( Bowl bowl, VariableSpace space )
*/
@Deprecated
default String[] getFilePaths( VariableSpace space ) {
throw new UnsupportedOperationException( "deprecated" );
}
default String[] getFilePaths( Bowl bowl, VariableSpace space ) {
return getFilePaths( space );
}
public boolean isErrorIgnored();
public String getErrorCountField();
public String getErrorFieldsField();
public String getErrorTextField();
public String getFileType();
public String getEnclosure();
View on GitHub (pinned to f3058517a1)