Fix restart without system Java via Sonic stop/startcontainer.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-24 09:16:11 +02:00
co-authored by Cursor
parent d1ef63f3f7
commit fe61bd087a
6 changed files with 289 additions and 52 deletions
@@ -1827,17 +1827,18 @@ namespace ZA.CoreService.ESBCertificateManager
.FirstOrDefault(c => string.Equals(c.Name, selectedName, StringComparison.OrdinalIgnoreCase))
?? _sonicDiscovery.Connections[0];
(string sonicHome, string? javaExe) = new SonicMfApiExecutor(conn).ResolveRuntimePaths();
string javaDisplay = string.IsNullOrWhiteSpace(javaExe) ? "java=?" : javaExe;
string sonicHome = string.IsNullOrWhiteSpace(conn.SonicHome) ? "(leer)" : conn.SonicHome.Trim();
(bool binOk, string? binErr, _) = new SonicBinRestartExecutor(conn).Probe();
string binDisplay = binOk ? "stop/startcontainer=ok" : $"bin=fehlt ({binErr})";
string baseText =
$"{conn.ManagementModeDisplay} | SonicHome={sonicHome} | {javaDisplay}";
$"{conn.ManagementModeDisplay} | SonicHome={sonicHome} | {binDisplay}";
if (!string.IsNullOrWhiteSpace(suffix))
{
baseText = $"{suffix} | {baseText}";
}
lblSonicStatus.Text = baseText;
lblSonicStatus.ForeColor = string.IsNullOrWhiteSpace(javaExe) ? GoldColor : GreenColor;
lblSonicStatus.ForeColor = binOk ? GreenColor : GoldColor;
}
private static string TruncateStatus(string? text, int max = 120)