This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch fix/CAMEL-23934 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3e7b0f3a87faed53358e22fe5a163d3eacd1c85b Author: Claus Ibsen <[email protected]> AuthorDate: Wed Jul 8 12:15:22 2026 +0200 CAMEL-23934: Replace hardcoded Color.GREEN/LIGHT_RED with Theme.success()/error() Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Claus Ibsen <[email protected]> --- .../dsl/jbang/core/commands/tui/AiLogPopup.java | 6 ++-- .../camel/dsl/jbang/core/commands/tui/AiPanel.java | 2 +- .../dsl/jbang/core/commands/tui/CamelMonitor.java | 6 ++-- .../jbang/core/commands/tui/CircuitBreakerTab.java | 20 +++++++------- .../dsl/jbang/core/commands/tui/ClasspathTab.java | 3 +- .../dsl/jbang/core/commands/tui/ConsumersTab.java | 8 +++--- .../dsl/jbang/core/commands/tui/CveAuditTab.java | 4 +-- .../dsl/jbang/core/commands/tui/DataSourceTab.java | 2 +- .../dsl/jbang/core/commands/tui/DiagramTab.java | 12 ++++---- .../jbang/core/commands/tui/DocViewerPopup.java | 4 +-- .../dsl/jbang/core/commands/tui/EndpointsTab.java | 14 +++++----- .../dsl/jbang/core/commands/tui/ErrorsTab.java | 14 +++++----- .../dsl/jbang/core/commands/tui/HealthTab.java | 4 +-- .../jbang/core/commands/tui/HeapHistogramTab.java | 6 ++-- .../camel/dsl/jbang/core/commands/tui/HttpTab.java | 18 ++++++------ .../dsl/jbang/core/commands/tui/InflightTab.java | 12 ++++---- .../camel/dsl/jbang/core/commands/tui/LogTab.java | 4 +-- .../core/commands/tui/MavenDependenciesTab.java | 3 +- .../dsl/jbang/core/commands/tui/McpLogPopup.java | 8 +++--- .../dsl/jbang/core/commands/tui/MemoryLeakTab.java | 14 +++++----- .../dsl/jbang/core/commands/tui/MemoryTab.java | 24 ++++++++-------- .../dsl/jbang/core/commands/tui/MetricsTab.java | 4 +-- .../dsl/jbang/core/commands/tui/OverviewTab.java | 10 +++---- .../dsl/jbang/core/commands/tui/PopupManager.java | 4 +-- .../dsl/jbang/core/commands/tui/RoutesTab.java | 32 +++++++++++----------- .../jbang/core/commands/tui/SendMessagePopup.java | 7 ++--- .../dsl/jbang/core/commands/tui/SpansTab.java | 16 +++++------ .../dsl/jbang/core/commands/tui/SqlQueryTab.java | 10 ++++--- .../dsl/jbang/core/commands/tui/SqlTraceTab.java | 10 +++---- .../dsl/jbang/core/commands/tui/StartupTab.java | 3 +- .../dsl/jbang/core/commands/tui/ThreadsTab.java | 4 +-- .../dsl/jbang/core/commands/tui/TuiHelper.java | 6 ++-- .../commands/tui/CircuitBreakerTabRenderTest.java | 4 +-- .../core/commands/tui/ConsumersTabRenderTest.java | 4 +-- .../core/commands/tui/DataSourceTabRenderTest.java | 2 +- .../core/commands/tui/EndpointsTabRenderTest.java | 2 +- .../core/commands/tui/ErrorsTabRenderTest.java | 4 +-- .../core/commands/tui/HealthTabRenderTest.java | 4 +-- .../jbang/core/commands/tui/HttpTabRenderTest.java | 4 +-- .../core/commands/tui/InflightTabRenderTest.java | 4 +-- .../commands/tui/MonitorContextRenderTest.java | 2 +- .../core/commands/tui/MonitorContextTest.java | 7 ++--- .../core/commands/tui/RoutesTabRenderTest.java | 6 ++-- .../core/commands/tui/SpansTabRenderTest.java | 2 +- .../core/commands/tui/SqlTraceTabRenderTest.java | 2 +- 45 files changed, 168 insertions(+), 173 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java index a8d78a7f8a99..f7f37200c20d 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiLogPopup.java @@ -134,9 +134,9 @@ class AiLogPopup { Style levelStyle = switch (entry.level()) { case QUESTION -> Style.EMPTY.fg(Color.CYAN); case TOOL -> Theme.warning(); - case RESULT -> Style.EMPTY.fg(Color.GREEN); + case RESULT -> Theme.success(); case RESPONSE -> Style.EMPTY.fg(Color.MAGENTA); - case ERROR -> Style.EMPTY.fg(Color.LIGHT_RED); + case ERROR -> Theme.error(); }; String levelTag = switch (entry.level()) { case QUESTION -> " ASK "; @@ -177,7 +177,7 @@ class AiLogPopup { entry.level() == AiPanel.LogLevel.TOOL ? TuiIcons.ARROW_RIGHT + " Arguments" : TuiIcons.ARROW_LEFT + " Result", - (entry.level() == AiPanel.LogLevel.TOOL ? Theme.warning() : Style.EMPTY.fg(Color.GREEN)).bold()))); + (entry.level() == AiPanel.LogLevel.TOOL ? Theme.warning() : Theme.success()).bold()))); addJsonLines(lines, detail); } else { lines.add(Line.from(Span.styled(TuiIcons.ARROW_RIGHT + " Content", diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java index 0b7ce4c1047f..447032b5701e 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/AiPanel.java @@ -742,7 +742,7 @@ class AiPanel { Span.styled(" Total tokens: ", dimStyle), Span.styled(LlmClient.formatTokens(totalTokens), cyanStyle), Span.styled(" (in: ", dimStyle), - Span.styled(LlmClient.formatTokens(totalInput), Style.EMPTY.fg(Color.GREEN)), + Span.styled(LlmClient.formatTokens(totalInput), Theme.success()), Span.styled(" / out: ", dimStyle), Span.styled(LlmClient.formatTokens(totalOutput), Theme.label()), Span.styled(")", dimStyle))); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java index fb4e422bbeeb..97091088e072 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java @@ -1190,8 +1190,8 @@ public class CamelMonitor extends CamelCommand { Paragraph.builder().text(Text.from(titleLine)).build(), leftArea); Color waveColor = activeNotificationError - ? Theme.error().fg().orElse(Color.LIGHT_RED) - : Theme.success().fg().orElse(Color.LIGHT_GREEN); + ? Theme.error().fg().orElse(Color.RED) + : Theme.success().fg().orElse(Color.GREEN); WaveText wave = WaveText.builder() .text(activeNotification) .color(waveColor) @@ -1395,7 +1395,7 @@ public class CamelMonitor extends CamelCommand { private void computeTabBadges(String[] badgeTexts, Style[] badgeStyles) { Style yellow = Theme.label(); Style cyan = Style.EMPTY.fg(Color.CYAN).bold(); - Style red = Style.EMPTY.fg(Color.LIGHT_RED).bold(); + Style red = Theme.error().bold(); for (int j = 0; j < badgeStyles.length; j++) { badgeTexts[j] = ""; badgeStyles[j] = yellow; diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java index c097d8226c14..8abe6e2a7c0a 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java @@ -79,8 +79,8 @@ class CircuitBreakerTab extends AbstractTableTab { List<Row> rows = new ArrayList<>(); for (CircuitBreakerInfo cb : sorted) { Style stateStyle = switch (cb.state != null ? cb.state.toLowerCase() : "") { - case "closed" -> Style.EMPTY.fg(Color.GREEN); - case "open", "forced_open" -> Style.EMPTY.fg(Color.LIGHT_RED); + case "closed" -> Theme.success(); + case "open", "forced_open" -> Theme.error(); default -> Theme.warning(); }; String state = cb.state != null ? cb.state : ""; @@ -193,8 +193,8 @@ class CircuitBreakerTab extends AbstractTableTab { boolean isClosed = state.equals("closed"); boolean isOpen = state.equals("open") || state.equals("forced_open"); - Style closedBox = isClosed ? Style.EMPTY.fg(Color.GREEN).bold() : Style.EMPTY; - Style openBox = isOpen ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY; + Style closedBox = isClosed ? Theme.success().bold() : Style.EMPTY; + Style openBox = isOpen ? Theme.error().bold() : Style.EMPTY; Style halfOpenBox = !isClosed && !isOpen ? Theme.warning().bold() : Style.EMPTY; Style lbl = Style.EMPTY.dim(); @@ -279,11 +279,11 @@ class CircuitBreakerTab extends AbstractTableTab { double rate = cb.failureRate >= 0 ? cb.failureRate : 0; Style barColor; if (rate >= 80) { - barColor = Style.EMPTY.fg(Color.LIGHT_RED); + barColor = Theme.error(); } else if (rate >= 50) { barColor = Theme.warning(); } else { - barColor = Style.EMPTY.fg(Color.GREEN); + barColor = Theme.success(); } String rateLabel = String.format(" %.0f%%", Math.max(0, cb.failureRate)); int barWidth = MAX_CHART_POINTS; @@ -324,15 +324,15 @@ class CircuitBreakerTab extends AbstractTableTab { long curSuccess = successArr[renderPoints - 1]; long curFail = failArr[renderPoints - 1]; Line chartTitle = Line.from( - Span.styled("▬", Style.EMPTY.fg(Color.GREEN)), + Span.styled("▬", Theme.success()), Span.raw(String.format(" ok:%-4d ", curSuccess)), - Span.styled("▬", Style.EMPTY.fg(Color.LIGHT_RED)), + Span.styled("▬", Theme.error()), Span.raw(String.format(" fail:%-4d msg/s", curFail))); frame.renderWidget(DualSparkline.builder() .topData(successArr) .bottomData(failArr) - .topStyle(Style.EMPTY.fg(Color.GREEN)) - .bottomStyle(Style.EMPTY.fg(Color.LIGHT_RED)) + .topStyle(Theme.success()) + .bottomStyle(Theme.error()) .showYAxis(true) .xLabels("-" + renderPoints + "s", "-" + (renderPoints * 3 / 4) + "s", "-" + (renderPoints / 2) + "s", "-" + (renderPoints / 4) + "s", "now") diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java index eeace73c5f96..1df66be3e012 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ClasspathTab.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import dev.tamboui.layout.Rect; -import dev.tamboui.style.Color; import dev.tamboui.style.Style; import dev.tamboui.terminal.Frame; import dev.tamboui.text.Line; @@ -216,7 +215,7 @@ class ClasspathTab extends AbstractTab { frame.renderWidget( Paragraph.builder() .text(Text.from(Line.from( - Span.styled(" " + errorMessage, Style.EMPTY.fg(Color.LIGHT_RED))))) + Span.styled(" " + errorMessage, Theme.error())))) .block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL) .title(" Classpath ").build()) .build(), diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java index a1185388bdab..236d4442b4c9 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java @@ -87,10 +87,10 @@ class ConsumersTab extends AbstractTableTab { HealthCheckInfo hc = consumerHealthCheck(info, ci); boolean healthDown = hc != null && "DOWN".equals(hc.state); Style statusStyle = healthDown - ? Style.EMPTY.fg(Color.LIGHT_RED) + ? Theme.error() : ("Started".equals(ci.state) || "Polling".equals(status) - ? Style.EMPTY.fg(Color.GREEN) - : Style.EMPTY.fg(Color.LIGHT_RED)); + ? Theme.success() + : Theme.error()); String statusText = healthDown ? TuiIcons.HEALTH_WARN + " " + status : status; String type = consumerType(ci); String schedule = consumerSchedule(ci); @@ -107,7 +107,7 @@ class ConsumersTab extends AbstractTableTab { rightCell(ci.totalCounter != null ? String.valueOf(ci.totalCounter) : "", 8), Cell.from(schedule), Cell.from(sinceLast), - Cell.from(Span.styled(uri, healthDown ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY)))); + Cell.from(Span.styled(uri, healthDown ? Theme.error() : Style.EMPTY)))); } if (rows.isEmpty()) { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java index 09dc5bb02af1..9d321f4d632f 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CveAuditTab.java @@ -169,7 +169,7 @@ class CveAuditTab extends AbstractTableTab { frame.renderWidget( Paragraph.builder() .text(Text.from(Line.from( - Span.styled(" " + errorMessage, Style.EMPTY.fg(Color.LIGHT_RED))))) + Span.styled(" " + errorMessage, Theme.error())))) .block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL) .title(" CVE Audit ").build()) .build(), @@ -183,7 +183,7 @@ class CveAuditTab extends AbstractTableTab { .text(Text.from( Line.from(Span.raw("")), Line.from(Span.styled(" No vulnerabilities found", - Style.EMPTY.fg(Color.GREEN))), + Theme.success())), Line.from(Span.raw("")), Line.from(Span.styled( String.format(" Scanned %d dependencies", scannedCount), diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java index 560c9de13ffc..c654b25087d1 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTab.java @@ -85,7 +85,7 @@ class DataSourceTab extends AbstractTableTab { boolean waiters = di.waiting > 0; Style activeStyle = exhausted - ? Style.EMPTY.fg(Color.LIGHT_RED) + ? Theme.error() : Style.EMPTY.fg(Color.CYAN); Style waitingStyle = waiters ? Theme.warning() diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java index d85901a5d735..26729f67f1d6 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DiagramTab.java @@ -432,7 +432,7 @@ class DiagramTab extends AbstractTab { Span.styled(" From: ", Style.EMPTY.dim()), Span.raw(route.from != null ? route.from : ""))); String stateLabel = route.state != null ? route.state : ""; - Style stateStyle = "Started".equals(route.state) ? Style.EMPTY.fg(Color.GREEN) : Style.EMPTY.fg(Color.LIGHT_RED); + Style stateStyle = "Started".equals(route.state) ? Theme.success() : Theme.error(); lines.add(Line.from( Span.styled(" State: ", Style.EMPTY.dim()), Span.styled(stateLabel, stateStyle))); @@ -455,7 +455,7 @@ class DiagramTab extends AbstractTab { lines.add(Line.from( Span.styled(" Total: ", Style.EMPTY.dim()), Span.raw(String.format("%" + w + "d", route.total)))); - Style failStyle = route.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY; + Style failStyle = route.failed > 0 ? Theme.error().bold() : Style.EMPTY; lines.add(Line.from( Span.styled(" Failed: ", Style.EMPTY.dim()), Span.styled(String.format("%" + w + "d", route.failed), failStyle))); @@ -490,7 +490,7 @@ class DiagramTab extends AbstractTab { lines.add(Line.from( Span.styled(" fail: ", Style.EMPTY.dim()), Span.styled(route.sinceLastFailed, - Style.EMPTY.fg(Color.LIGHT_RED)))); + Theme.error()))); } } @@ -530,7 +530,7 @@ class DiagramTab extends AbstractTab { lines.add(Line.from( Span.styled(" Failed: ", Style.EMPTY.dim()), Span.styled(String.valueOf(topoNode.exchangesFailed), - Style.EMPTY.fg(Color.LIGHT_RED).bold()))); + Theme.error().bold()))); } } } else { @@ -595,7 +595,7 @@ class DiagramTab extends AbstractTab { Span.styled(" Total: ", Style.EMPTY.dim()), Span.raw(String.format("%" + w + "d", stat.exchangesTotal)))); Style failStyle = stat.exchangesFailed > 0 - ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY; + ? Theme.error().bold() : Style.EMPTY; lines.add(Line.from( Span.styled(" Failed: ", Style.EMPTY.dim()), Span.styled(String.format("%" + w + "d", stat.exchangesFailed), failStyle))); @@ -636,7 +636,7 @@ class DiagramTab extends AbstractTab { lines.add(Line.from( Span.styled(" fail: ", Style.EMPTY.dim()), Span.styled(TimeUtils.printDuration(ago, false), - Style.EMPTY.fg(Color.LIGHT_RED)))); + Theme.error()))); } } } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java index 643428ef4c66..ba52a1763926 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DocViewerPopup.java @@ -25,9 +25,7 @@ import java.util.stream.Collectors; import dev.tamboui.layout.Rect; import dev.tamboui.markdown.MarkdownView; -import dev.tamboui.style.Color; import dev.tamboui.style.Overflow; -import dev.tamboui.style.Style; import dev.tamboui.terminal.Frame; import dev.tamboui.text.Line; import dev.tamboui.text.Span; @@ -406,7 +404,7 @@ class DocViewerPopup { if (docTitle != null && docTitle.startsWith("Failed:")) { String rest = docTitle.substring("Failed:".length()); title = Title.from(Line.from( - Span.styled(" Failed:", Style.EMPTY.fg(Color.LIGHT_RED).bold()), + Span.styled(" Failed:", Theme.error().bold()), Span.raw(rest + " "))); } else { title = Title.from(" " + docTitle + " "); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java index 2849b3340af5..647d144bd2fe 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java @@ -218,7 +218,7 @@ class EndpointsTab extends AbstractTableTab { for (EndpointInfo ep : sortedEndpoints) { String dir = ep.direction != null ? ep.direction : ""; Style dirStyle = switch (dir) { - case "in" -> Style.EMPTY.fg(Color.GREEN); + case "in" -> Theme.success(); case "out" -> Style.EMPTY.fg(Color.CYAN); default -> Theme.label(); }; @@ -465,7 +465,7 @@ class EndpointsTab extends AbstractTableTab { String inLabelStr = " ".repeat(inLabelPad) + "in" + " ".repeat(sideLen - inLabelPad - 2); String outLabelStr = " ".repeat(outLabelPad) + "out"; - Style inStyle = Style.EMPTY.fg(Color.GREEN); + Style inStyle = Theme.success(); Style outStyle = Style.EMPTY.fg(Color.CYAN); Style dimStyle = Style.EMPTY.dim(); @@ -522,7 +522,7 @@ class EndpointsTab extends AbstractTableTab { long curOut = outArr[renderPoints - 1]; Line chartTitle = Line.from( - Span.styled("▬", Style.EMPTY.fg(Color.GREEN)), + Span.styled("▬", Theme.success()), Span.raw(String.format(" in:%-4s ", MetricsCollector.formatThroughput(curIn))), Span.styled("▬", Style.EMPTY.fg(Color.CYAN)), Span.raw(String.format(" out:%-4s msg/s", MetricsCollector.formatThroughput(curOut)))); @@ -531,7 +531,7 @@ class EndpointsTab extends AbstractTableTab { frame.renderWidget(DualSparkline.builder() .topData(inArr) .bottomData(outArr) - .topStyle(Style.EMPTY.fg(Color.GREEN)) + .topStyle(Theme.success()) .bottomStyle(Style.EMPTY.fg(Color.CYAN)) .showYAxis(true) .xLabels("-" + renderPoints + "s", "-" + (renderPoints * 3 / 4) + "s", @@ -578,7 +578,7 @@ class EndpointsTab extends AbstractTableTab { String inLabelStr = " ".repeat(inLabelPad) + "in" + " ".repeat(sideLen - inLabelPad - 2); String outLabelStr = " ".repeat(outLabelPad) + "out"; - Style inStyle = Style.EMPTY.fg(Color.GREEN); + Style inStyle = Theme.success(); Style outStyle = Style.EMPTY.fg(Color.CYAN); Style dimStyle = Style.EMPTY.dim(); @@ -635,7 +635,7 @@ class EndpointsTab extends AbstractTableTab { Span.raw(" ["), Span.styled(uriLabel, Theme.label().bold()), Span.raw("] "), - Span.styled("▬", Style.EMPTY.fg(Color.GREEN)), + Span.styled("▬", Theme.success()), Span.raw(String.format(" in:%-4s ", MetricsCollector.formatThroughput(curIn))), Span.styled("▬", Style.EMPTY.fg(Color.CYAN)), Span.raw(String.format(" out:%-4s msg/s", MetricsCollector.formatThroughput(curOut)))); @@ -643,7 +643,7 @@ class EndpointsTab extends AbstractTableTab { frame.renderWidget(DualSparkline.builder() .topData(inArr) .bottomData(outArr) - .topStyle(Style.EMPTY.fg(Color.GREEN)) + .topStyle(Theme.success()) .bottomStyle(Style.EMPTY.fg(Color.CYAN)) .showYAxis(true) .xLabels("-" + renderPoints + "s", "-" + (renderPoints * 3 / 4) + "s", diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java index 78e432b9f48a..d49796fcc1fd 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java @@ -335,7 +335,7 @@ class ErrorsTab extends AbstractTableTab { ? org.apache.camel.util.TimeUtils.printSince(ei.timestamp) : ""; String handledStr = ei.handled ? "true" : "false"; Style handledStyle = ei.handled - ? Style.EMPTY.fg(Color.GREEN) : Style.EMPTY.fg(Color.LIGHT_RED); + ? Theme.success() : Theme.error(); String shortException = shortExceptionType(ei.exceptionType); rows.add(Row.from( @@ -624,14 +624,14 @@ class ErrorsTab extends AbstractTableTab { Span.styled(" Thread: ", Theme.label().bold()), Span.raw(ei.threadName))); } - Style handledStyle = ei.handled ? Style.EMPTY.fg(Color.GREEN) : Style.EMPTY.fg(Color.LIGHT_RED).bold(); + Style handledStyle = ei.handled ? Theme.success() : Theme.error().bold(); lines.add(Line.from( Span.styled(" Handled: ", Theme.label().bold()), Span.styled(ei.handled ? "true" : "false", handledStyle))); if (ei.exceptionType != null) { lines.add(Line.from(Span.raw(""))); - lines.add(Line.from(Span.styled(" Exception", Style.EMPTY.fg(Color.LIGHT_RED).bold()))); + lines.add(Line.from(Span.styled(" Exception", Theme.error().bold()))); lines.add(Line.from(Span.raw(" " + ei.exceptionType))); if (ei.exceptionMessage != null) { lines.add(Line.from(Span.raw(" " + ei.exceptionMessage))); @@ -641,7 +641,7 @@ class ErrorsTab extends AbstractTableTab { if (showBody && ei.body != null) { lines.add(Line.from(Span.raw(""))); lines.add(Line.from( - Span.styled(" Body", Style.EMPTY.fg(Color.GREEN).bold()), + Span.styled(" Body", Theme.success().bold()), ei.bodyType != null ? Span.styled(" (" + ei.bodyType + ")", Style.EMPTY.dim()) : Span.raw(""))); for (String line : ei.body.split("\n")) { lines.add(Line.from(Span.raw(" " + line))); @@ -650,19 +650,19 @@ class ErrorsTab extends AbstractTableTab { if (showHeaders && !ei.headers.isEmpty()) { lines.add(Line.from(Span.raw(""))); - lines.add(Line.from(Span.styled(" Headers", Style.EMPTY.fg(Color.GREEN).bold()))); + lines.add(Line.from(Span.styled(" Headers", Theme.success().bold()))); addKvLines(lines, ei.headers); } if (showProperties && !ei.properties.isEmpty()) { lines.add(Line.from(Span.raw(""))); - lines.add(Line.from(Span.styled(" Properties", Style.EMPTY.fg(Color.GREEN).bold()))); + lines.add(Line.from(Span.styled(" Properties", Theme.success().bold()))); addKvLines(lines, ei.properties); } if (showVariables && !ei.variables.isEmpty()) { lines.add(Line.from(Span.raw(""))); - lines.add(Line.from(Span.styled(" Variables", Style.EMPTY.fg(Color.GREEN).bold()))); + lines.add(Line.from(Span.styled(" Variables", Theme.success().bold()))); addKvLines(lines, ei.variables); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java index ed50832c1ad3..1fada0b8eba9 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java @@ -97,10 +97,10 @@ class HealthTab extends AbstractTableTab { Style stateStyle; String icon; if ("UP".equals(hc.state)) { - stateStyle = Style.EMPTY.fg(Color.GREEN); + stateStyle = Theme.success(); icon = TuiIcons.HEALTH_UP + " "; } else if ("DOWN".equals(hc.state)) { - stateStyle = Style.EMPTY.fg(Color.LIGHT_RED); + stateStyle = Theme.error(); icon = TuiIcons.HEALTH_DOWN + " "; } else { stateStyle = Theme.warning(); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java index 9f4aee91ba31..b514cc96ec8c 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java @@ -238,11 +238,11 @@ class HeapHistogramTab extends AbstractTableTab { lines.add(Line.from( Span.styled(" JAR: ", Theme.label().bold()), Span.styled(jar.groupId() + ":" + jar.artifactId() + ":" + jar.version(), - Style.EMPTY.fg(Color.GREEN)))); + Theme.success()))); } else { lines.add(Line.from( Span.styled(" JAR: ", Theme.label().bold()), - Span.styled(jar.display(), Style.EMPTY.fg(Color.GREEN)))); + Span.styled(jar.display(), Theme.success()))); } if (jar.fullPath() != null) { String path = jar.fullPath(); @@ -258,7 +258,7 @@ class HeapHistogramTab extends AbstractTableTab { lines.add(Line.from(Span.raw(""))); lines.add(Line.from( Span.styled(" JAR: ", Theme.label().bold()), - Span.styled("JDK (built-in)", Style.EMPTY.fg(Color.GREEN)))); + Span.styled("JDK (built-in)", Theme.success()))); } String title = " Detail: " + TuiHelper.truncate(className, area.width() - 14) + " "; diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java index 40124a1356fc..64087e6263fa 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java @@ -1028,7 +1028,7 @@ class HttpTab extends AbstractTableTab { titleStr = " Response "; } else if (probeResponseError) { titleStr = " Response " + probeResponseStatus + " "; - titleStyle = Style.EMPTY.fg(Color.LIGHT_RED).bold(); + titleStyle = Theme.error().bold(); } else if ("Sending...".equals(probeResponseStatus)) { titleStr = " Sending... "; titleStyle = Theme.warning().bold(); @@ -1152,7 +1152,7 @@ class HttpTab extends AbstractTableTab { try { int code = Integer.parseInt(status); if (code >= 200 && code < 300) { - return Style.EMPTY.fg(Color.GREEN).bold(); + return Theme.success().bold(); } if (code >= 300 && code < 400) { return Style.EMPTY.fg(Color.CYAN).bold(); @@ -1161,12 +1161,12 @@ class HttpTab extends AbstractTableTab { return Theme.warning().bold(); } if (code >= 500) { - return Style.EMPTY.fg(Color.LIGHT_RED).bold(); + return Theme.error().bold(); } } catch (NumberFormatException e) { // not a number — treat as error } - return Style.EMPTY.fg(Color.LIGHT_RED).bold(); + return Theme.error().bold(); } // ---- Existing table/spec methods ---- @@ -1213,10 +1213,10 @@ class HttpTab extends AbstractTableTab { } String m = method.split(",")[0].trim().toUpperCase(Locale.ENGLISH); return switch (m) { - case "GET" -> Style.EMPTY.fg(Color.GREEN); + case "GET" -> Theme.success(); case "POST" -> Theme.label(); case "PUT" -> Style.EMPTY.fg(Color.CYAN); - case "DELETE" -> Style.EMPTY.fg(Color.LIGHT_RED); + case "DELETE" -> Theme.error(); case "PATCH" -> Style.EMPTY.fg(Color.rgb(0xFF, 0x80, 0x00)); default -> Style.EMPTY.dim(); }; @@ -1236,7 +1236,7 @@ class HttpTab extends AbstractTableTab { long mgmtCount = info.httpEndpoints.stream().filter(e -> e.management).count(); if (restCount > 0) { spans.add(Span.raw(" ")); - spans.add(Span.styled("REST: ", Style.EMPTY.fg(Color.GREEN))); + spans.add(Span.styled("REST: ", Theme.success())); spans.add(Span.raw(restCount + "")); } if (specCount > 0) { @@ -1285,10 +1285,10 @@ class HttpTab extends AbstractTableTab { Cell.from(produces), Cell.from(Span.styled(source, ep.specification ? Style.EMPTY.fg(Color.MAGENTA) - : ep.fromRest ? Style.EMPTY.fg(Color.GREEN) + : ep.fromRest ? Theme.success() : Style.EMPTY.fg(Color.CYAN))), Cell.from(Span.styled(state, - "Stopped".equals(state) ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY)))); + "Stopped".equals(state) ? Theme.error() : Style.EMPTY)))); } Title title = buildTableTitle(info, visible); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java index a86f58beb4d4..98673ed959c5 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java @@ -103,8 +103,8 @@ class InflightTab extends AbstractTableTab { for (InflightInfo ii : sorted) { String status = ii.blocked ? "blocked" : "inflight"; Style statusStyle = ii.blocked - ? Style.EMPTY.fg(Color.LIGHT_RED).bold() - : Style.EMPTY.fg(Color.GREEN); + ? Theme.error().bold() + : Theme.success(); String duration = TimeUtils.printDuration(ii.duration, true); Style durationStyle = durationColor(ii.duration); @@ -166,11 +166,11 @@ class InflightTab extends AbstractTableTab { private Style durationColor(long durationMs) { if (durationMs >= THRESHOLD_RED) { - return Style.EMPTY.fg(Color.LIGHT_RED).bold(); + return Theme.error().bold(); } else if (durationMs >= THRESHOLD_YELLOW) { return Theme.warning(); } - return Style.EMPTY.fg(Color.GREEN); + return Theme.success(); } private Span buildDurationBar(long duration, long maxDuration, int barWidth) { @@ -193,11 +193,11 @@ class InflightTab extends AbstractTableTab { Style barStyle; if (duration >= THRESHOLD_RED) { - barStyle = Style.EMPTY.fg(Color.LIGHT_RED); + barStyle = Theme.error(); } else if (duration >= THRESHOLD_YELLOW) { barStyle = Theme.warning(); } else { - barStyle = Style.EMPTY.fg(Color.GREEN); + barStyle = Theme.success(); } return Span.styled(sb.toString(), barStyle); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java index c31d393e8637..4afe91f96c8c 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java @@ -438,7 +438,7 @@ class LogTab extends AbstractTab { ListWidget list = ListWidget.builder() .items( - ListItem.from(" ERROR ").style(Style.EMPTY.fg(Color.LIGHT_RED)), + ListItem.from(" ERROR ").style(Theme.error()), ListItem.from(" WARN ").style(Theme.warning()), ListItem.from(" INFO ").style(Style.EMPTY), ListItem.from(" DEBUG ").style(Style.EMPTY.fg(Color.CYAN)), @@ -645,7 +645,7 @@ class LogTab extends AbstractTab { Style levelStyle = switch (level) { case "ERROR", "FATAL" -> Style.EMPTY.fg(Color.RED); case "WARN" -> Theme.warning(); - case "INFO" -> Style.EMPTY.fg(Color.GREEN); + case "INFO" -> Theme.success(); case "DEBUG" -> Style.EMPTY.fg(Color.CYAN); case "TRACE" -> Style.EMPTY.dim(); default -> Style.EMPTY; diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java index 03d586e783c8..ad309649aa5a 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MavenDependenciesTab.java @@ -26,7 +26,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import dev.tamboui.layout.Constraint; import dev.tamboui.layout.Rect; -import dev.tamboui.style.Color; import dev.tamboui.style.Style; import dev.tamboui.terminal.Frame; import dev.tamboui.text.Line; @@ -202,7 +201,7 @@ class MavenDependenciesTab extends AbstractTableTab { frame.renderWidget( Paragraph.builder() .text(Text.from(Line.from( - Span.styled(" " + errorMessage, Style.EMPTY.fg(Color.LIGHT_RED))))) + Span.styled(" " + errorMessage, Theme.error())))) .block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL) .title(" Maven Dependencies ").build()) .build(), diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java index d702ae611343..43c771414259 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java @@ -136,10 +136,10 @@ class McpLogPopup { List<ListItem> items = new ArrayList<>(); for (TuiMcpServer.LogEntry entry : entries) { Style levelStyle = switch (entry.level()) { - case CONNECT -> Style.EMPTY.fg(Color.GREEN); + case CONNECT -> Theme.success(); case TOOL -> Style.EMPTY.fg(Color.CYAN); - case ERROR -> Style.EMPTY.fg(Color.LIGHT_RED); - default -> Style.EMPTY.fg(Color.GREEN); + case ERROR -> Theme.error(); + default -> Theme.success(); }; String levelTag = switch (entry.level()) { case CONNECT -> " CONNECT "; @@ -187,7 +187,7 @@ class McpLogPopup { lines.add(Line.from(Span.raw(""))); } if (entry.responseBody() != null) { - lines.add(Line.from(Span.styled(TuiIcons.ARROW_LEFT + " Response", Style.EMPTY.fg(Color.GREEN).bold()))); + lines.add(Line.from(Span.styled(TuiIcons.ARROW_LEFT + " Response", Theme.success().bold()))); addJsonLines(lines, entry.responseBody()); } if (entry.requestBody() == null && entry.responseBody() == null) { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java index e2c0e49e29b0..f0b3100f98b6 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryLeakTab.java @@ -262,7 +262,7 @@ class MemoryLeakTab extends AbstractTab { if (recordingMode == RecordingMode.DUAL) { lines.add(Line.from( Span.styled(" Dual mode ", Style.EMPTY.dim()), - Span.styled("(recommended)", Style.EMPTY.fg(Color.GREEN)))); + Span.styled("(recommended)", Theme.success()))); lines.add(Line.from( Span.styled(" Runs two sequential JFR recordings:", Style.EMPTY.dim()))); lines.add(Line.from( @@ -311,10 +311,10 @@ class MemoryLeakTab extends AbstractTab { ? "Recording 2 of 2 (" + currentRecordingDuration + "s)..." : "Recording 1 of 2 (" + currentRecordingDuration + "s)..."; lines.add(Line.from( - Span.styled(" " + recLabel, Style.EMPTY.fg(Color.GREEN).bold()))); + Span.styled(" " + recLabel, Theme.success().bold()))); } else { lines.add(Line.from( - Span.styled(" Memory leak recording in progress...", Style.EMPTY.fg(Color.GREEN).bold()))); + Span.styled(" Memory leak recording in progress...", Theme.success().bold()))); } lines.add(Line.from(Span.raw(""))); @@ -344,7 +344,7 @@ class MemoryLeakTab extends AbstractTab { bar.append(i < filled ? '█' : '░'); } lines.add(Line.from(Span.raw(""))); - lines.add(Line.from(Span.styled(bar.toString(), Style.EMPTY.fg(Color.GREEN)))); + lines.add(Line.from(Span.styled(bar.toString(), Theme.success()))); String title = recordingMode == RecordingMode.DUAL ? " Memory Leak Recording [dual] " @@ -501,7 +501,7 @@ class MemoryLeakTab extends AbstractTab { lines.add(Line.from( Span.styled(prefix, Style.EMPTY.fg(Color.BLUE)), Span.styled(typeName, Style.EMPTY.fg(Color.CYAN)), - Span.styled(fieldInfo, Style.EMPTY.fg(Color.GREEN)), + Span.styled(fieldInfo, Theme.success()), Span.styled(descInfo, Style.EMPTY.dim()))); } } @@ -664,7 +664,7 @@ class MemoryLeakTab extends AbstractTab { lines.add(Line.from( Span.styled(prefix, Style.EMPTY.fg(Color.BLUE)), Span.styled(typeName, Style.EMPTY.fg(Color.CYAN)), - Span.styled(fieldInfo, Style.EMPTY.fg(Color.GREEN)), + Span.styled(fieldInfo, Theme.success()), Span.styled(descInfo, Style.EMPTY.dim()))); } } @@ -709,7 +709,7 @@ class MemoryLeakTab extends AbstractTab { return switch (trend) { case "growing" -> Span.styled(TuiIcons.ARROW_UP + " leak!", Style.EMPTY.fg(Color.RED).bold()); case "suspicious" -> Span.styled(TuiIcons.ARROW_UP + " leak?", Theme.warning()); - case "stable" -> Span.styled(TuiIcons.ARROW_STABLE + " stable", Style.EMPTY.fg(Color.GREEN)); + case "stable" -> Span.styled(TuiIcons.ARROW_STABLE + " stable", Theme.success()); case "shrinking" -> Span.styled(TuiIcons.ARROW_DOWN, Style.EMPTY.dim()); case "new" -> Span.styled("new", Theme.warning()); case "gone" -> Span.styled("gone", Style.EMPTY.dim()); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java index f12a948ab9f7..60bb1991e7ef 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java @@ -140,8 +140,8 @@ class MemoryTab extends AbstractTab { if (info.heapMemCommitted > 0) { long pctComm = info.heapMemUsed * 100 / info.heapMemCommitted; String gaugeComm = buildGaugeBar(pctComm, 30); - Style colorComm = pctComm >= 80 ? Style.EMPTY.fg(Color.LIGHT_RED) : pctComm >= 60 ? Theme.warning() - : Style.EMPTY.fg(Color.GREEN); + Style colorComm = pctComm >= 80 ? Theme.error() : pctComm >= 60 ? Theme.warning() + : Theme.success(); List<Span> commSpans = new ArrayList<>(); commSpans.add(Span.styled(" committed: ", Style.EMPTY.dim())); commSpans.add(Span.styled(String.format("%-10s", formatBytes(info.heapMemCommitted)), Style.EMPTY)); @@ -156,8 +156,8 @@ class MemoryTab extends AbstractTab { if (info.heapMemMax > 0) { long pctMax = info.heapMemUsed * 100 / info.heapMemMax; String gaugeMax = buildGaugeBar(pctMax, 30); - Style colorMax = pctMax >= 80 ? Style.EMPTY.fg(Color.LIGHT_RED) : pctMax >= 60 ? Theme.warning() - : Style.EMPTY.fg(Color.GREEN); + Style colorMax = pctMax >= 80 ? Theme.error() : pctMax >= 60 ? Theme.warning() + : Theme.success(); List<Span> maxSpans = new ArrayList<>(); maxSpans.add(Span.styled(" max: ", Style.EMPTY.dim())); maxSpans.add(Span.styled(String.format("%-10s", formatBytes(info.heapMemMax)), Style.EMPTY)); @@ -175,8 +175,8 @@ class MemoryTab extends AbstractTab { if (info.oldGenUsed > 0) { long oldPct = info.oldGenMax > 0 ? info.oldGenUsed * 100 / info.oldGenMax : 0; String oldGauge = buildGaugeBar(oldPct, 30); - Style oldColor = oldPct >= 80 ? Style.EMPTY.fg(Color.LIGHT_RED) : oldPct >= 60 ? Theme.warning() - : Style.EMPTY.fg(Color.GREEN); + Style oldColor = oldPct >= 80 ? Theme.error() : oldPct >= 60 ? Theme.warning() + : Theme.success(); lines.add(Line.from( Span.styled(" Old Gen: ", Style.EMPTY.dim()), @@ -297,9 +297,9 @@ class MemoryTab extends AbstractTab { // Precompute eighths thresholds for the color bands int greenEighths = (int) Math.round(0.6 * chartH * 8.0); int yellowEighths = (int) Math.round(0.8 * chartH * 8.0); - Style greenStyle = Style.EMPTY.fg(Color.GREEN); + Style greenStyle = Theme.success(); Style yellowStyle = Theme.warning(); - Style redStyle = Style.EMPTY.fg(Color.LIGHT_RED); + Style redStyle = Theme.error(); for (int col = 0; col < chartW; col++) { double ratio = (double) data[col] / ceiling; @@ -417,20 +417,20 @@ class MemoryTab extends AbstractTab { // ignore small fluctuations relative to heap capacity (at least 5M or 1% of ceiling) long threshold = Math.max(5 * 1024 * 1024, (long) (heapCeiling * 0.01)); if (Math.abs(diff) < threshold) { - return Span.styled(" → stable over last " + period, Style.EMPTY.fg(Color.GREEN)); + return Span.styled(" → stable over last " + period, Theme.success()); } if (change > 0.05) { return Span.styled( String.format(" %s growing by %d%% (%s) over last %s", TuiIcons.ARROW_UP, pct, formatBytes(diff), period), - Style.EMPTY.fg(Color.LIGHT_RED).bold()); + Theme.error().bold()); } else if (change < -0.05) { return Span.styled( String.format(" %s shrinking by %d%% (%s) over last %s", TuiIcons.ARROW_DOWN, Math.abs(pct), formatBytes(Math.abs(diff)), period), - Style.EMPTY.fg(Color.GREEN)); + Theme.success()); } else { - return Span.styled(" " + TuiIcons.ARROW_STABLE + " stable over last " + period, Style.EMPTY.fg(Color.GREEN)); + return Span.styled(" " + TuiIcons.ARROW_STABLE + " stable over last " + period, Theme.success()); } } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java index 9e57bbe9adbf..ef45636357f0 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java @@ -62,8 +62,8 @@ class MetricsTab extends AbstractTableTab { private static final Style LABEL = Style.EMPTY.dim(); private static final Style VALUE = Style.EMPTY.fg(Theme.baseFg()).bold(); - private static final Style GOOD = Style.EMPTY.fg(Color.GREEN); - private static final Style BAD = Style.EMPTY.fg(Color.LIGHT_RED); + private static final Style GOOD = Theme.success(); + private static final Style BAD = Theme.error(); private final ScrollbarState scrollbarState = new ScrollbarState(); private final ScrollbarState rawScrollbarState = new ScrollbarState(); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java index cc7d5f7f3f15..1e5f54d6a8c8 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java @@ -293,7 +293,7 @@ class OverviewTab extends AbstractTab { Cell.from(Span.styled(vanishName, dimStyle)), Cell.from(Span.styled("", dimStyle)), Cell.from(Span.styled("", dimStyle)), - Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", Style.EMPTY.fg(Color.LIGHT_RED).dim())), + Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", Theme.error().dim())), Cell.from(Span.styled(info.ago != null ? info.ago : "", dimStyle)), Cell.from(Span.styled("", dimStyle)), Cell.from(Span.styled("", dimStyle)), @@ -400,7 +400,7 @@ class OverviewTab extends AbstractTab { Cell.from(Span.styled(vanishAlias, dimStyle)), Cell.from(Span.styled("", dimStyle)), Cell.from(Span.styled("", dimStyle)), - Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", Style.EMPTY.fg(Color.LIGHT_RED).dim())), + Cell.from(Span.styled(TuiIcons.STOPPED + " Stopped", Theme.error().dim())), Cell.from(Span.styled("", dimStyle)), Cell.from(Span.styled("", dimStyle)), Cell.from(Span.styled("", dimStyle)), @@ -524,14 +524,14 @@ class OverviewTab extends AbstractTab { Span.raw(" ["), Span.styled(chartName, Theme.label().bold()), Span.raw(String.format("] Throughput: %s msg/s ", curTpFmt)), - Span.styled("■", Style.EMPTY.fg(Color.GREEN)), + Span.styled("■", Theme.success()), Span.raw(String.format(" ok:%s ", curOkFmt)), Span.styled("■", Style.EMPTY.fg(Color.RED)), Span.raw(String.format(" fail:%s ", curFailFmt))); } else { titleLine = Line.from( Span.raw(String.format(" [All] Throughput: %s msg/s ", curTpFmt)), - Span.styled("■", Style.EMPTY.fg(Color.GREEN)), + Span.styled("■", Theme.success()), Span.raw(String.format(" ok:%s ", curOkFmt)), Span.styled("■", Style.EMPTY.fg(Color.RED)), Span.raw(String.format(" fail:%s ", curFailFmt))); @@ -546,7 +546,7 @@ class OverviewTab extends AbstractTab { long failed = Math.min(mergedFailed[i], mergedTotal[i]); long ok = Math.max(0, mergedTotal[i] - failed); groups.add(BarGroup.of( - Bar.builder().value(ok).textValue("").style(Style.EMPTY.fg(Color.GREEN)) + Bar.builder().value(ok).textValue("").style(Theme.success()) .build(), Bar.builder().value(failed).textValue("").style(Style.EMPTY.fg(Color.RED)).build())); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java index 9070d677be89..0419fbcb3cff 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/PopupManager.java @@ -510,7 +510,7 @@ class PopupManager { frame.renderWidget(Clear.INSTANCE, popup); Block block = Block.builder() .borderType(BorderType.ROUNDED).borders(Borders.ALL) - .borderStyle(Style.EMPTY.fg(Color.LIGHT_RED)) + .borderStyle(Theme.error()) .title(" Confirm Kill ") .build(); frame.renderWidget(block, popup); @@ -519,7 +519,7 @@ class PopupManager { Paragraph.builder() .text(Text.from( Line.from(Span.raw("")), - Line.from(Span.styled(msg, Style.EMPTY.fg(Color.LIGHT_RED).bold())), + Line.from(Span.styled(msg, Theme.error().bold())), Line.from(Span.raw("")), Line.from( Span.raw(" "), diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java index f936d99691d8..33198fdfca82 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java @@ -565,7 +565,7 @@ class RoutesTab extends AbstractTab { List<Row> routeRows = new ArrayList<>(); for (RouteInfo route : sortedRoutes) { Style failStyle = route.failed > 0 - ? Style.EMPTY.fg(Color.LIGHT_RED).bold() + ? Theme.error().bold() : Style.EMPTY; routeRows.add(Row.from( @@ -621,11 +621,11 @@ class RoutesTab extends AbstractTab { List<Row> routeRows = new ArrayList<>(); for (RouteInfo route : sortedRoutes) { Style stateStyle = "Started".equals(route.state) - ? Style.EMPTY.fg(Color.GREEN) - : Style.EMPTY.fg(Color.LIGHT_RED); + ? Theme.success() + : Theme.error(); Style failStyle = route.failed > 0 - ? Style.EMPTY.fg(Color.LIGHT_RED).bold() + ? Theme.error().bold() : Style.EMPTY; String sinceLastRoute = formatSinceLastRoute(route); @@ -842,7 +842,7 @@ class RoutesTab extends AbstractTab { Span.styled(" From: ", Style.EMPTY.dim()), Span.raw(route.from != null ? route.from : ""))); String stateLabel = route.state != null ? route.state : ""; - Style stateStyle = "Started".equals(route.state) ? Style.EMPTY.fg(Color.GREEN) : Style.EMPTY.fg(Color.LIGHT_RED); + Style stateStyle = "Started".equals(route.state) ? Theme.success() : Theme.error(); lines.add(Line.from( Span.styled(" State: ", Style.EMPTY.dim()), Span.styled(stateLabel, stateStyle))); @@ -865,7 +865,7 @@ class RoutesTab extends AbstractTab { lines.add(Line.from( Span.styled(" Total: ", Style.EMPTY.dim()), Span.raw(String.format("%" + w + "d", route.total)))); - Style failStyle = route.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY; + Style failStyle = route.failed > 0 ? Theme.error().bold() : Style.EMPTY; lines.add(Line.from( Span.styled(" Failed: ", Style.EMPTY.dim()), Span.styled(String.format("%" + w + "d", route.failed), failStyle))); @@ -900,7 +900,7 @@ class RoutesTab extends AbstractTab { lines.add(Line.from( Span.styled(" fail: ", Style.EMPTY.dim()), Span.styled(route.sinceLastFailed, - Style.EMPTY.fg(Color.LIGHT_RED)))); + Theme.error()))); } } @@ -936,7 +936,7 @@ class RoutesTab extends AbstractTab { lines.add(Line.from( Span.styled(" Failed: ", Style.EMPTY.dim()), Span.styled(String.valueOf(topoNode.exchangesFailed), - Style.EMPTY.fg(Color.LIGHT_RED).bold()))); + Theme.error().bold()))); } } } else { @@ -1001,7 +1001,7 @@ class RoutesTab extends AbstractTab { Span.styled(" Total: ", Style.EMPTY.dim()), Span.raw(String.format("%" + w + "d", stat.exchangesTotal)))); Style failStyle = stat.exchangesFailed > 0 - ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY; + ? Theme.error().bold() : Style.EMPTY; lines.add(Line.from( Span.styled(" Failed: ", Style.EMPTY.dim()), Span.styled(String.format("%" + w + "d", stat.exchangesFailed), failStyle))); @@ -1042,7 +1042,7 @@ class RoutesTab extends AbstractTab { lines.add(Line.from( Span.styled(" fail: ", Style.EMPTY.dim()), Span.styled(TimeUtils.printDuration(ago, false), - Style.EMPTY.fg(Color.LIGHT_RED)))); + Theme.error()))); } } } @@ -1093,7 +1093,7 @@ class RoutesTab extends AbstractTab { } for (ProcessorInfo proc : sorted) { - Style nameStyle = proc.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.CYAN); + Style nameStyle = proc.failed > 0 ? Theme.error() : Style.EMPTY.fg(Color.CYAN); long chartVal = procChartValue(proc); String bar; if (chartVal > 0) { @@ -1120,7 +1120,7 @@ class RoutesTab extends AbstractTab { topDeltaStyle(proc.deltaTime)), rightCell(String.valueOf(proc.total), 8), rightCell(String.valueOf(proc.failed), 6, - proc.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY), + proc.failed > 0 ? Theme.error() : Style.EMPTY), rightCell(String.valueOf(proc.inflight), 8))); } @@ -1157,14 +1157,14 @@ class RoutesTab extends AbstractTab { List<Row> rows = new ArrayList<>(); // Synthetic top row representing the route itself - Style routeStyle = route.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.CYAN); + Style routeStyle = route.failed > 0 ? Theme.error() : Style.EMPTY.fg(Color.CYAN); rows.add(Row.from( Cell.from(" route"), Cell.from(Span.styled(route.from != null ? route.from : route.routeId, routeStyle)), Cell.from(""), Cell.from(""), Cell.from(""), Cell.from(""), rightCell(String.valueOf(route.total), 8), rightCell(String.valueOf(route.failed), 6, - route.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY), + route.failed > 0 ? Theme.error() : Style.EMPTY), rightCell(String.valueOf(route.inflight), 8), rightCell(route.total > 0 ? route.minTime + "/" + route.maxTime + "/" + route.meanTime @@ -1173,7 +1173,7 @@ class RoutesTab extends AbstractTab { for (ProcessorInfo proc : route.processors) { String indent = " ".repeat(proc.level); - Style nameStyle = proc.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.CYAN); + Style nameStyle = proc.failed > 0 ? Theme.error() : Style.EMPTY.fg(Color.CYAN); rows.add(Row.from( Cell.from(" " + (proc.processor != null ? proc.processor : "")), @@ -1181,7 +1181,7 @@ class RoutesTab extends AbstractTab { Cell.from(""), Cell.from(""), Cell.from(""), Cell.from(""), rightCell(String.valueOf(proc.total), 8), rightCell(String.valueOf(proc.failed), 6, - proc.failed > 0 ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY), + proc.failed > 0 ? Theme.error() : Style.EMPTY), rightCell(String.valueOf(proc.inflight), 8), rightCell(proc.total > 0 ? proc.minTime + "/" + proc.maxTime + "/" + proc.meanTime diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java index 3c6f8023ee72..00c845dc6991 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SendMessagePopup.java @@ -26,7 +26,6 @@ import java.util.concurrent.ScheduledExecutorService; import dev.tamboui.layout.Constraint; import dev.tamboui.layout.Layout; import dev.tamboui.layout.Rect; -import dev.tamboui.style.Color; import dev.tamboui.style.Style; import dev.tamboui.terminal.Frame; import dev.tamboui.text.Line; @@ -827,14 +826,14 @@ class SendMessagePopup { if (responseElapsed > 0) { titleStr = " Response — Error (" + responseElapsed + "ms) "; } - titleStyle = Style.EMPTY.fg(Color.LIGHT_RED).bold(); + titleStyle = Theme.error().bold(); } else { titleStr = " Response — " + (inOut ? "InOut" : "InOnly"); if (responseElapsed > 0) { titleStr += " (" + responseElapsed + "ms)"; } titleStr += " "; - titleStyle = Style.EMPTY.fg(Color.GREEN).bold(); + titleStyle = Theme.success().bold(); } Title title = Title.from(Line.from(Span.styled(titleStr, titleStyle))); @@ -923,7 +922,7 @@ class SendMessagePopup { : ""; Style lineStyle = selected ? Style.EMPTY.bold() : Style.EMPTY; - Style statusStyle = entry.error ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.GREEN); + Style statusStyle = entry.error ? Theme.error() : Theme.success(); if (!selected) { statusStyle = statusStyle.dim(); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java index f8eb5ed9ca39..ea0211e7f1b5 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTab.java @@ -367,9 +367,9 @@ class SpansTab extends AbstractTab { for (TraceSummary ts : summaries) { Style statusStyle; if (ts.hasError) { - statusStyle = Style.EMPTY.fg(Color.LIGHT_RED); + statusStyle = Theme.error(); } else { - statusStyle = Style.EMPTY.fg(Color.GREEN); + statusStyle = Theme.success(); } rows.add(Row.from( @@ -551,8 +551,8 @@ class SpansTab extends AbstractTab { Style labelStyle; Style bandStyle; if (error) { - labelStyle = selected ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY.fg(Color.LIGHT_RED); - bandStyle = Style.EMPTY.fg(Color.LIGHT_RED); + labelStyle = selected ? Theme.error().bold() : Theme.error(); + bandStyle = Theme.error(); } else if (!camelSpan) { labelStyle = selected ? Style.EMPTY.fg(Color.LIGHT_MAGENTA).bold() : Style.EMPTY.fg(Color.LIGHT_MAGENTA); bandStyle = Style.EMPTY.fg(Color.LIGHT_MAGENTA); @@ -568,10 +568,10 @@ class SpansTab extends AbstractTab { Span.styled(label, labelStyle), Span.raw(gap), Span.styled(bar, bandStyle), - Span.styled(errorTag, Style.EMPTY.fg(Color.LIGHT_RED).bold()), + Span.styled(errorTag, Theme.error().bold()), Span.raw(" ".repeat(pad)), Span.styled(durationStr, error - ? Style.EMPTY.fg(Color.LIGHT_RED).bold() + ? Theme.error().bold() : Style.EMPTY.fg(Theme.baseFg()).bold())); } @@ -584,7 +584,7 @@ class SpansTab extends AbstractTab { List<Line> lines = new ArrayList<>(); // Row 1: span identity - Style statusStyle = span.isError() ? Style.EMPTY.fg(Color.LIGHT_RED).bold() : Style.EMPTY.fg(Color.GREEN); + Style statusStyle = span.isError() ? Theme.error().bold() : Theme.success(); lines.add(Line.from( Span.styled(" Span: ", Style.EMPTY.dim()), Span.styled(span.spanId(), Style.EMPTY.fg(Theme.baseFg()).bold()), @@ -628,7 +628,7 @@ class SpansTab extends AbstractTab { } } - Style titleStyle = span.isError() ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.CYAN); + Style titleStyle = span.isError() ? Theme.error() : Style.EMPTY.fg(Color.CYAN); frame.renderWidget( Paragraph.builder() .text(Text.from(lines)) diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java index 656aa87b62aa..c8d9a56421fa 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java @@ -442,13 +442,13 @@ class SqlQueryTab extends AbstractTab { .title(Title.from(" Result ")) .borders(Borders.ALL) .borderType(BorderType.ROUNDED) - .borderStyle(Style.EMPTY.fg(Color.GREEN)) + .borderStyle(Theme.success()) .build(); Rect inner = ucBlock.inner(area); frame.renderWidget(ucBlock, area); String msg = String.format("Update count: %d (%dms)", updateCount, elapsed); Paragraph ucText = Paragraph.builder() - .text(Text.from(Line.from(Span.styled(msg, Style.EMPTY.fg(Color.GREEN))))) + .text(Text.from(Line.from(Span.styled(msg, Theme.success())))) .build(); frame.renderWidget(ucText, inner); return; @@ -788,7 +788,9 @@ class SqlQueryTab extends AbstractTab { Span.styled(val.isEmpty() ? "null" : val, Style.EMPTY.fg(Color.DARK_GRAY)))), valArea); } else if (isFocused) { boolean changed = !editInputs[i].text().equals(editOriginalValues[i]); - Style cursorStyle = changed ? Style.EMPTY.reversed().fg(Color.GREEN) : Style.EMPTY.reversed(); + Style cursorStyle = changed + ? Style.EMPTY.reversed().fg(Theme.success().fg().orElse(Color.GREEN)) + : Style.EMPTY.reversed(); TextInput input = TextInput.builder() .cursorStyle(cursorStyle) .build(); @@ -796,7 +798,7 @@ class SqlQueryTab extends AbstractTab { } else { String val = editInputs[i].text(); boolean changed = !val.equals(editOriginalValues[i]); - Style valStyle = changed ? Style.EMPTY.fg(Color.GREEN) : Style.EMPTY; + Style valStyle = changed ? Theme.success() : Style.EMPTY; frame.renderWidget(Paragraph.from(Line.from( Span.styled(val.isEmpty() ? "null" : val, valStyle))), valArea); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java index 4724385ae31b..e04f92c3bebf 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java @@ -147,7 +147,7 @@ class SqlTraceTab extends AbstractTableTab { Style labelStyle = Style.EMPTY.dim(); Style valueStyle = Style.EMPTY.fg(Color.CYAN).bold(); Style warnStyle = Theme.warning().bold(); - Style errorStyle = Style.EMPTY.fg(Color.LIGHT_RED).bold(); + Style errorStyle = Theme.error().bold(); List<Span> spans = new ArrayList<>(); spans.add(Span.styled(" Total: ", labelStyle)); @@ -234,7 +234,7 @@ class SqlTraceTab extends AbstractTableTab { List<Row> rows = new ArrayList<>(); for (SqlTraceInfo si : sorted) { Style durStyle = si.duration >= 100 ? Theme.warning() : Style.EMPTY; - Style statusStyle = si.failed ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.GREEN); + Style statusStyle = si.failed ? Theme.error() : Theme.success(); String status = si.failed ? "FAIL" : "OK"; String time = ""; @@ -340,7 +340,7 @@ class SqlTraceTab extends AbstractTableTab { .format(TIME_FMT); } Style durStyle = si.duration >= 100 ? Theme.warning() : Style.EMPTY; - Style statusStyle = si.failed ? Style.EMPTY.fg(Color.LIGHT_RED) : Style.EMPTY.fg(Color.GREEN); + Style statusStyle = si.failed ? Theme.error() : Theme.success(); lines.add(Line.from( Span.styled(" Time: ", labelStyle), Span.styled(time, valueStyle), @@ -377,9 +377,9 @@ class SqlTraceTab extends AbstractTableTab { } return switch (category) { case "SELECT" -> Style.EMPTY.fg(Color.CYAN); - case "INSERT" -> Style.EMPTY.fg(Color.GREEN); + case "INSERT" -> Theme.success(); case "UPDATE" -> Theme.label(); - case "DELETE" -> Style.EMPTY.fg(Color.LIGHT_RED); + case "DELETE" -> Theme.error(); default -> Style.EMPTY; }; } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java index 8e00b74c7aa7..09c96e1ef82b 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StartupTab.java @@ -25,7 +25,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import dev.tamboui.layout.Constraint; import dev.tamboui.layout.Layout; import dev.tamboui.layout.Rect; -import dev.tamboui.style.Color; import dev.tamboui.style.Style; import dev.tamboui.terminal.Frame; import dev.tamboui.text.Line; @@ -159,7 +158,7 @@ class StartupTab extends AbstractTab { frame.renderWidget( Paragraph.builder() .text(Text.from(Line.from( - Span.styled(" " + errorMessage, Style.EMPTY.fg(Color.LIGHT_RED))))) + Span.styled(" " + errorMessage, Theme.error())))) .block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL) .title(" Startup Timeline ").build()) .build(), diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java index b6a20ff40245..efb7edb16f53 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ThreadsTab.java @@ -316,8 +316,8 @@ class ThreadsTab extends AbstractTableTab { return Style.EMPTY; } return switch (state) { - case "RUNNABLE" -> Style.EMPTY.fg(Color.GREEN); - case "BLOCKED" -> Style.EMPTY.fg(Color.LIGHT_RED); + case "RUNNABLE" -> Theme.success(); + case "BLOCKED" -> Theme.error(); case "WAITING" -> Theme.warning(); case "TIMED_WAITING" -> Style.EMPTY.fg(Color.CYAN); default -> Style.EMPTY; diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java index 5c4fe9f8c885..4f7e9cfca111 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/TuiHelper.java @@ -569,7 +569,7 @@ final class TuiHelper { static Style topTimeStyle(long ms) { if (ms >= 1000) { - return Style.EMPTY.fg(Color.LIGHT_RED).bold(); + return Theme.error().bold(); } else if (ms >= 100) { return Theme.warning(); } @@ -578,9 +578,9 @@ final class TuiHelper { static Style topDeltaStyle(long delta) { if (delta > 0) { - return Style.EMPTY.fg(Color.LIGHT_RED); + return Theme.error(); } else if (delta < 0) { - return Style.EMPTY.fg(Color.GREEN); + return Theme.success(); } return Style.EMPTY; } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java index 2d2af443aafa..8968120fbfe1 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTabRenderTest.java @@ -105,7 +105,7 @@ class CircuitBreakerTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "c", Color.GREEN); + boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "c", Theme.success().fg().orElse(Color.GREEN)); assertTrue(foundGreen, "closed state should be rendered in GREEN"); } @@ -120,7 +120,7 @@ class CircuitBreakerTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "o", Color.LIGHT_RED); + boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "o", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRed, "open state should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java index 849b3a2d88bf..7c88142ffb0f 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTabRenderTest.java @@ -107,7 +107,7 @@ class ConsumersTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", Color.GREEN), + assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", Theme.success().fg().orElse(Color.GREEN)), "Started status should be rendered in GREEN"); } @@ -123,7 +123,7 @@ class ConsumersTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", Color.LIGHT_RED), + assertTrue(TuiTestHelper.findCellWithColor(buffer, "S", Theme.error().fg().orElse(Color.LIGHT_RED)), "Stopped status should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java index 83b4ee9613c7..cef3a9ae4193 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/DataSourceTabRenderTest.java @@ -106,7 +106,7 @@ class DataSourceTabRenderTest { tab.render(frame, area); // active (10) >= maxPoolSize (10), so active column should be LIGHT_RED - boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "1", Color.LIGHT_RED); + boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "1", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRed, "Exhausted pool active count should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java index 1bbb543e2a1d..f2bdd995a18f 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTabRenderTest.java @@ -107,7 +107,7 @@ class EndpointsTabRenderTest { tab.render(frame, area); boolean foundGreen - = TuiTestHelper.findCellWithColor(buffer, TuiIcons.KEY_RIGHT, Color.GREEN); + = TuiTestHelper.findCellWithColor(buffer, TuiIcons.KEY_RIGHT, Theme.success().fg().orElse(Color.GREEN)); assertTrue(foundGreen, "In-direction arrow should be rendered in GREEN"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java index ea395c6ba878..6735257c5f59 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTabRenderTest.java @@ -116,7 +116,7 @@ class ErrorsTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundGreen = findCellWithColor(buffer, "t", Color.GREEN); + boolean foundGreen = findCellWithColor(buffer, "t", Theme.success().fg().orElse(Color.GREEN)); assertTrue(foundGreen, "handled=true should be rendered in GREEN"); } @@ -131,7 +131,7 @@ class ErrorsTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRed = findCellWithColor(buffer, "f", Color.LIGHT_RED); + boolean foundRed = findCellWithColor(buffer, "f", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRed, "handled=false should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java index 6b0a199a367a..2eb1fd32269e 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTabRenderTest.java @@ -113,7 +113,7 @@ class HealthTabRenderTest { var cell = buffer.get(x, y); if (TuiIcons.HEALTH_DOWN.equals(cell.symbol()) || "D".equals(cell.symbol())) { var fg = cell.style().fg().orElse(null); - if (Color.LIGHT_RED.equals(fg)) { + if (Theme.error().fg().orElse(Color.LIGHT_RED).equals(fg)) { foundRedDown = true; break; } @@ -150,7 +150,7 @@ class HealthTabRenderTest { var cell = buffer.get(x, y); if (TuiIcons.HEALTH_UP.equals(cell.symbol())) { var fg = cell.style().fg().orElse(null); - if (Color.GREEN.equals(fg)) { + if (Theme.success().fg().orElse(Color.GREEN).equals(fg)) { foundGreenUp = true; break; } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java index 925c53eb3079..978e06f304f6 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTabRenderTest.java @@ -87,7 +87,7 @@ class HttpTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "G", Color.GREEN); + boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "G", Theme.success().fg().orElse(Color.GREEN)); assertTrue(foundGreen, "GET method should be rendered in GREEN"); } @@ -118,7 +118,7 @@ class HttpTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "D", Color.LIGHT_RED); + boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "D", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRed, "DELETE method should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java index 717e89e08731..99fcd4d0a1d1 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTabRenderTest.java @@ -89,7 +89,7 @@ class InflightTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "i", Color.GREEN); + boolean foundGreen = TuiTestHelper.findCellWithColor(buffer, "i", Theme.success().fg().orElse(Color.GREEN)); assertTrue(foundGreen, "Inflight status should be rendered in GREEN"); } @@ -104,7 +104,7 @@ class InflightTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "b", Color.LIGHT_RED); + boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "b", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRed, "Blocked status should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java index e15331b32844..26eefb95032a 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextRenderTest.java @@ -146,7 +146,7 @@ class MonitorContextRenderTest { @Test void rightCellWithStyleAppliesStyle() { - var cell = AbstractTab.rightCell("5", 6, dev.tamboui.style.Style.EMPTY.fg(Color.LIGHT_RED)); + var cell = AbstractTab.rightCell("5", 6, Theme.error()); // The cell should have styled content String content = extractCellContent(cell); assertTrue(content.contains("5"), "Should contain the value"); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java index 6108ad33e7e7..475fac80b6b1 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContextTest.java @@ -16,7 +16,6 @@ */ package org.apache.camel.dsl.jbang.core.commands.tui; -import dev.tamboui.style.Color; import dev.tamboui.style.Modifier; import dev.tamboui.style.Style; import org.junit.jupiter.api.BeforeEach; @@ -180,7 +179,7 @@ class MonitorContextTest { void topTimeStyleOver1000ms() { Style style = TuiHelper.topTimeStyle(1000); assertTrue(style.effectiveModifiers().contains(Modifier.BOLD)); - assertEquals(Color.LIGHT_RED, style.fg().orElse(null)); + assertEquals(Theme.error().fg().orElse(null), style.fg().orElse(null)); } @Test @@ -200,13 +199,13 @@ class MonitorContextTest { @Test void topDeltaStylePositive() { Style style = TuiHelper.topDeltaStyle(10); - assertEquals(Color.LIGHT_RED, style.fg().orElse(null)); + assertEquals(Theme.error().fg().orElse(null), style.fg().orElse(null)); } @Test void topDeltaStyleNegative() { Style style = TuiHelper.topDeltaStyle(-5); - assertEquals(Color.GREEN, style.fg().orElse(null)); + assertEquals(Theme.success().fg().orElse(null), style.fg().orElse(null)); } @Test diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java index 7ca0c40eaeaa..46ae81677d9f 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTabRenderTest.java @@ -90,7 +90,7 @@ class RoutesTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundGreenStarted = findCellWithColorContaining(buffer, "S", Color.GREEN); + boolean foundGreenStarted = findCellWithColorContaining(buffer, "S", Theme.success().fg().orElse(Color.GREEN)); assertTrue(foundGreenStarted, "Started status should be rendered in GREEN"); } @@ -105,7 +105,7 @@ class RoutesTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRedStopped = findCellWithColorContaining(buffer, "S", Color.LIGHT_RED); + boolean foundRedStopped = findCellWithColorContaining(buffer, "S", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRedStopped, "Stopped status should be rendered in LIGHT_RED"); } @@ -151,7 +151,7 @@ class RoutesTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRedFailed = findCellWithColorContaining(buffer, "5", Color.LIGHT_RED); + boolean foundRedFailed = findCellWithColorContaining(buffer, "5", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRedFailed, "Failed count should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java index 6430b2393b74..88d5e1dd603b 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SpansTabRenderTest.java @@ -109,7 +109,7 @@ class SpansTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "E", Color.LIGHT_RED); + boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "E", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRed, "ERROR status should be rendered in LIGHT_RED"); } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java index d649b4924e25..12ec668df1f4 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTabRenderTest.java @@ -120,7 +120,7 @@ class SqlTraceTabRenderTest { Frame frame = Frame.forTesting(buffer); tab.render(frame, area); - boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "F", Color.LIGHT_RED); + boolean foundRed = TuiTestHelper.findCellWithColor(buffer, "F", Theme.error().fg().orElse(Color.LIGHT_RED)); assertTrue(foundRed, "Failed status should be rendered in LIGHT_RED"); }
