- public static void openCmsApp(CmsApp cmsApp, String uiName, DisposeListener disposeListener) {
- CmsRcpDisplayFactory.getDisplay().syncExec(() -> {
- CmsRcpApp cmsRcpApp = new CmsRcpApp(uiName);
- cmsRcpApp.setCmsApp(cmsApp, null);
- cmsRcpApp.initRcpApp();
- if (disposeListener != null)
- cmsRcpApp.getShell().addDisposeListener(disposeListener);
+ public void openCmsApp(CmsApp cmsApp, String uiName, DisposeListener disposeListener) {
+ cmsDeployment.getHttpServer().thenAccept((httpServer) -> {
+ getDisplay().syncExec(() -> {
+ CmsRcpApp cmsRcpApp = new CmsRcpApp(uiName);
+ cmsRcpApp.setCmsApp(cmsApp, null);
+ if (httpServer != null) {
+ InetSocketAddress addr = httpServer.getAddress();
+ String scheme = "http";
+ if (httpServer instanceof HttpsServer httpsServer) {
+ if (httpsServer.getHttpsConfigurator() != null)
+ scheme = "https";
+ }
+ String httpServerBase = scheme + "://" + addr.getHostString() + ":" + addr.getPort();
+ cmsRcpApp.setHttpServerBase(httpServerBase);
+ }
+ cmsRcpApp.initRcpApp();
+ if (disposeListener != null)
+ cmsRcpApp.getShell().addDisposeListener(disposeListener);
+ });