pentaho/pentaho-kettle · warning · IllegalArgumentException
TransGraph.Dialog.InvalidZoomMeasurement.Message
TransGraph.Dialog.InvalidZoomMeasurement.Message
Error message
TransGraph.Dialog.InvalidZoomMeasurement.Message
What it means
JobGraph's zoom handling parses the text typed into the zoom label as a percentage. If parsing fails or the resulting magnification falls outside MIN_ZOOM..MAX_ZOOM, the previous magnification is restored, an error is logged, and an IllegalArgumentException is thrown internally to route control to the catch block that shows the 'Invalid zoom measurement' message box.
Solutions
- Enter a numeric zoom percentage within the allowed MIN_ZOOM–MAX_ZOOM range (e.g. '100%').
- Avoid non-numeric characters and stray decimal separators in the zoom field.
- Use the zoom drop-down presets instead of free-typing values.
Example fix
// before zoomLabel.setText( "5000" ); // out of range // after zoomLabel.setText( "100%" ); // within MIN_ZOOM..MAX_ZOOM
Defensive patterns
Strategy: validation
Validate before calling
float m;
try { m = Float.parseFloat( text ) / 100; } catch ( NumberFormatException e ) { m = -1; }
boolean valid = m >= MIN_ZOOM && m <= MAX_ZOOM;
if ( !valid ) { /* revert to previousMagnification */ } Try / catch
try {
applyZoom( possibleText );
} catch ( Exception e ) {
magnification = previousMagnification; // restore safe value
// show invalid-zoom message box
} Prevention
- Only type plain numeric percentages into the zoom label.
- Stay within the supported MIN_ZOOM..MAX_ZOOM range.
- Prefer zoom preset buttons/drop-down over free text entry.
When it happens
Trigger: Typing a non-numeric zoom value (e.g. 'abc') or a percentage out of range (below MIN_ZOOM or above MAX_ZOOM, e.g. '5000%') into the JobGraph zoom label and pressing Enter.
Common situations: User typo such as '1oo%' or '12.3.4'; pasting a magnification value without the percent sign outside supported range; locale-confusing decimal separators like '1,5' being parsed as invalid.
Understand the failure class
Background: "Must be a positive integer", "Invalid value", "Unsupported": the invalid-argument-value error family, when a library rejects the value you pass — this error's family across 35 libraries.
Related errors
- Invalid zoom value
- AccessInputMeta.Exception.FileDoesNotExist
- AccessOutputMeta.Exception.FileDoesNotExist
- Alert dialog cancelled by user.
- Cannot load dialog due to error in initialization.
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/f7950cb4ca35c219.
Report an issue: GitHub.
Appendix: source
Thrown at ui/src/main/java/org/pentaho/di/ui/spoon/job/JobGraph.java:1482
}
}
/**
* Allows for magnifying to any percentage entered by the user...
*/
private void readMagnification() {
float previousMagnification = magnification;
String possibleText = zoomLabel.getText();
possibleText = possibleText.replace( "%", "" );
float possibleFloatMagnification;
try {
possibleFloatMagnification = Float.parseFloat( possibleText ) / 100;
magnification = possibleFloatMagnification;
if ( magnification < MIN_ZOOM || magnification > MAX_ZOOM ) {
magnification = previousMagnification;
log.logError( "Invalid zoom value: " + zoomLabel.getText() );
throw new IllegalArgumentException( );
}
if ( zoomLabel.getText().indexOf( '%' ) < 0 ) {
zoomLabel.setText( zoomLabel.getText().concat( "%" ) );
}
} catch ( Exception e ) {
MessageBox mb = new MessageBox( shell, SWT.YES | SWT.ICON_ERROR );
mb.setMessage( BaseMessages.getString( PKG, "TransGraph.Dialog.InvalidZoomMeasurement.Message", String.valueOf( (int) ( MIN_ZOOM * 100 ) ), String.valueOf( (int) MAX_ZOOM * 100 ) ) );
mb.setText( BaseMessages.getString( PKG, "TransGraph.Dialog.InvalidZoomMeasurement.Title" ) );
mb.open();
}
redraw();
}
public void keyPressed( KeyEvent e ) {
// Delete
if ( e.keyCode == SWT.DEL ) {
List<JobEntryCopy> copies = jobMeta.getSelectedEntries();View on GitHub (pinned to f3058517a1)