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;
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() {
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;
private UxContext uxContext;
private String uid;
+ private String httpServerBase;
+
@Override
public Object start(IApplicationContext context) throws Exception {
// TODO wait for CMS to be ready
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;
+ }
+
}
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 {
protected void postActivation(ComponentRegister register) {
if (ui) {
Component<? extends CmsUserApp> cmsAppC = register.find(CmsUserApp.class, null).first();
- CmsRcpDisplayFactory.openCmsApp(cmsAppC.get(), "data", (e) -> {
+ Component<? extends CmsRcpDisplayFactory> 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());
});