Skip to content

fix(visualization, v1.2): define the render_error the table charts already call - #7389

Draft
github-actions[bot] wants to merge 1 commit into
release/v1.2from
backport/7260-define-the-render-error-the-table-charts-v1.2
Draft

fix(visualization, v1.2): define the render_error the table charts already call#7389
github-actions[bot] wants to merge 1 commit into
release/v1.2from
backport/7260-define-the-render-error-the-table-charts-v1.2

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

Automated backport of #7260 to release/v1.2.

Source: a96bf3e · automation run

Any related issues, documentation, discussions?

Backport of #7260. Originally linked #7244.

How was this PR tested?

Release-branch CI runs on this branch once the conflicts are resolved and this PR is marked ready for review.

Was this PR authored or co-authored using generative AI tooling?

No.

…call (#7260)

### What changes were proposed in this PR?

`TablesPlotOpDesc` and `FigureFactoryTableOpDesc` both generate a
`TableChartOperator` that calls `self.render_error(...)` on two
branches, but neither generated class defines that method. Each now
defines it, in the same shape the other visualization operators use.

### Why are the changes needed?

Both branches are reachable — an empty input table, and a value column
left with only non-positive or null values. Executing each operator's
generated module against an empty frame raises `AttributeError:
'TableChartOperator' object has no attribute 'render_error'` instead of
showing the message the code was written to show. With the definition
added, the same run yields `Tables Plot is not available. Reason is:
input table is empty.`

### Any related issues, documentation, discussions?

Closes #7244

### How was this PR tested?

`WorkflowOperator/scalafmtCheckAll` and both operators' descriptor specs
(14 tests). Each spec now asserts its generated class defines
`render_error` and formats the operator's name. Separately, each
generated module was run locally against an empty frame before and after
the fix, with the `pytexera` and `plotly` imports stubbed — the before
run reproduces the `AttributeError`, the after run returns `Tables Plot
is not available. Reason is: input table is empty.`

### Does this PR introduce any user-facing change?

Yes. Those two cases now render the intended message instead of failing
the operator. Nothing changes on the path that produces a chart.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 5)

---------

(backported from commit a96bf3e)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Xuan Gu <162244362+xuang7@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

The cherry-pick conflicted and was committed with conflict markers. Resolve the conflicts on this branch, then mark this PR ready for review.

Conflicting files:

  • common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/visualization/figureFactoryTable/FigureFactoryTableOpDescSpec.scala
  • common/workflow-operator/src/test/scala/org/apache/texera/amber/operator/visualization/tablesChart/TablesPlotOpDescSpec.scala

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant