From: Mathieu Baudier Date: Wed, 1 Nov 2023 06:19:47 +0000 (+0100) Subject: Adapt to changes in Argeo Commons X-Git-Tag: v2.3.12~2 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-slc.git;a=commitdiff_plain;h=b723ba5d295b0e094feebdf10ab67e96cdcb0979 Adapt to changes in Argeo Commons --- diff --git a/swt/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java b/swt/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java index cdd87fd3f..b8b2935f9 100644 --- a/swt/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java +++ b/swt/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java @@ -1,5 +1,7 @@ package org.argeo.cms.e4.rap; +import java.net.URI; +import java.net.URISyntaxException; import java.security.AccessController; import java.util.UUID; import java.util.concurrent.Callable; @@ -167,6 +169,17 @@ public class CmsLoginLifecycle implements CmsView { public String getUid() { return uid; } + + + + @Override + public URI toBackendUri(String url) { + try { + return new URI(url); + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Cannot convert " + url, e); + } + } // CALLBACKS protected void startupComplete() { diff --git a/swt/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java b/swt/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java index 3861597aa..2ad8760d2 100644 --- a/swt/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java +++ b/swt/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java @@ -1,5 +1,7 @@ package org.argeo.cms.e4.rcp; +import java.net.URI; +import java.net.URISyntaxException; import java.security.PrivilegedExceptionAction; import java.util.UUID; import java.util.concurrent.Callable; @@ -29,6 +31,8 @@ public class CmsE4Application implements IApplication, CmsView { private UxContext uxContext; private String uid; + private String httpServerBase; + @Override public Object start(IApplicationContext context) throws Exception { // TODO wait for CMS to be ready @@ -209,4 +213,22 @@ public class CmsE4Application implements IApplication, CmsView { throw new UnsupportedOperationException(); } + @Override + public URI toBackendUri(String url) { + try { + URI u = new URI(url); + if (u.getHost() == null) { + // TODO make it more robust + u = new URI(httpServerBase + url); + } + return u; + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Cannot convert " + url, e); + } + } + + public void setHttpServerBase(String httpServerBase) { + this.httpServerBase = httpServerBase; + } + } diff --git a/swt/rcp/org.argeo.tool.rcp.cli/src/org/argeo/cms/swt/rcp/cli/CmsCli.java b/swt/rcp/org.argeo.tool.rcp.cli/src/org/argeo/cms/swt/rcp/cli/CmsCli.java index 0d7de083e..fec9b4cf7 100644 --- a/swt/rcp/org.argeo.tool.rcp.cli/src/org/argeo/cms/swt/rcp/cli/CmsCli.java +++ b/swt/rcp/org.argeo.tool.rcp.cli/src/org/argeo/cms/swt/rcp/cli/CmsCli.java @@ -13,11 +13,11 @@ import org.argeo.api.acr.spi.ProvidedRepository; import org.argeo.api.cli.CommandsCli; import org.argeo.api.cli.DescribedCommand; import org.argeo.api.cms.CmsApp; +import org.argeo.api.register.Component; +import org.argeo.api.register.ComponentRegister; import org.argeo.cms.runtime.StaticCms; import org.argeo.cms.swt.app.CmsUserApp; import org.argeo.cms.ui.rcp.CmsRcpDisplayFactory; -import org.argeo.api.register.Component; -import org.argeo.api.register.ComponentRegister; public class CmsCli extends CommandsCli { @@ -82,7 +82,9 @@ public class CmsCli extends CommandsCli { protected void postActivation(ComponentRegister register) { if (ui) { Component cmsAppC = register.find(CmsUserApp.class, null).first(); - CmsRcpDisplayFactory.openCmsApp(cmsAppC.get(), "data", (e) -> { + Component cmsRcpDisplayFactoryC = register + .find(CmsRcpDisplayFactory.class, null).first(); + cmsRcpDisplayFactoryC.get().openCmsApp(cmsAppC.get(), "data", (e) -> { // asynchronous in order to avoid deadlock in UI thread ForkJoinPool.commonPool().execute(() -> stop()); });