X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=swt%2Frcp%2Forg.argeo.cms.e4.rcp%2Fsrc%2Forg%2Fargeo%2Fcms%2Fe4%2Frcp%2FCmsE4Application.java;h=2ad8760d2ee76d3a796790d39c61623cbf2e8a65;hb=b723ba5d295b0e094feebdf10ab67e96cdcb0979;hp=3861597aad00baa1b232366cc923d22e9fb45a60;hpb=ceff20836ab9a1c78747a56697824c209c24da53;p=gpl%2Fargeo-slc.git 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; + } + }