From c6bb0874829b5e5fbaf3f1437939ef00bcbd94b0 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 24 Sep 2020 07:30:44 +0200 Subject: [PATCH] Start refactoring CMS Web --- .../src/org/argeo/cms/ui/script/AppUi.java | 2 +- .../org/argeo/cms/ui/script/CmsScriptApp.java | 2 +- .../src/org/argeo/cms/ui/util/SimpleApp.java | 1 + .../{ui => web}/AbstractCmsEntryPoint.java | 4 +- .../src/org/argeo/cms/web/MinimalWebApp.java | 53 +++++++++++++++++++ .../{ui/util => web}/SimpleErgonomics.java | 7 ++- 6 files changed, 64 insertions(+), 5 deletions(-) rename org.argeo.cms.ui/src/org/argeo/cms/{ui => web}/AbstractCmsEntryPoint.java (99%) create mode 100644 org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java rename org.argeo.cms.ui/src/org/argeo/cms/{ui/util => web}/SimpleErgonomics.java (96%) diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/script/AppUi.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/script/AppUi.java index 229378674..ad7cadc13 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/script/AppUi.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/script/AppUi.java @@ -12,7 +12,7 @@ import javax.script.ScriptException; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.cms.ui.util.CmsPane; import org.argeo.cms.ui.util.CmsUiUtils; -import org.argeo.cms.ui.util.SimpleErgonomics; +import org.argeo.cms.web.SimpleErgonomics; import org.argeo.eclipse.ui.Selected; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.application.Application; diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/script/CmsScriptApp.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/script/CmsScriptApp.java index c3e1a72e6..d3267004e 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/script/CmsScriptApp.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/script/CmsScriptApp.java @@ -27,7 +27,7 @@ import org.argeo.cms.ui.CmsConstants; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.cms.ui.util.BundleResourceLoader; import org.argeo.cms.ui.util.CmsUiUtils; -import org.argeo.cms.ui.util.SimpleErgonomics; +import org.argeo.cms.web.SimpleErgonomics; import org.eclipse.rap.rwt.application.Application; import org.eclipse.rap.rwt.application.Application.OperationMode; import org.eclipse.rap.rwt.application.ApplicationConfiguration; diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/SimpleApp.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/SimpleApp.java index 0f5b079c8..c5d86bc5f 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/SimpleApp.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/SimpleApp.java @@ -26,6 +26,7 @@ import org.argeo.cms.CmsException; import org.argeo.cms.ui.CmsConstants; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.cms.ui.LifeCycleUiProvider; +import org.argeo.cms.web.SimpleErgonomics; import org.argeo.jcr.JcrUtils; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.application.Application; diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/AbstractCmsEntryPoint.java b/org.argeo.cms.ui/src/org/argeo/cms/web/AbstractCmsEntryPoint.java similarity index 99% rename from org.argeo.cms.ui/src/org/argeo/cms/ui/AbstractCmsEntryPoint.java rename to org.argeo.cms.ui/src/org/argeo/cms/web/AbstractCmsEntryPoint.java index 6b61ae396..1c5d60bc4 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/AbstractCmsEntryPoint.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/web/AbstractCmsEntryPoint.java @@ -1,4 +1,4 @@ -package org.argeo.cms.ui; +package org.argeo.cms.web; import static org.argeo.naming.SharedSecret.X_SHARED_SECRET; @@ -28,6 +28,8 @@ import org.argeo.cms.CmsException; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.auth.HttpRequestCallback; import org.argeo.cms.auth.HttpRequestCallbackHandler; +import org.argeo.cms.ui.CmsStyles; +import org.argeo.cms.ui.CmsView; import org.argeo.eclipse.ui.specific.UiContext; import org.argeo.jcr.JcrUtils; import org.argeo.naming.AuthPassword; diff --git a/org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java b/org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java new file mode 100644 index 000000000..b4af7595d --- /dev/null +++ b/org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java @@ -0,0 +1,53 @@ +package org.argeo.cms.web; + +import java.util.HashMap; +import java.util.Map; + +import org.argeo.cms.ui.util.CmsTheme; +import org.eclipse.rap.rwt.RWT; +import org.eclipse.rap.rwt.application.AbstractEntryPoint; +import org.eclipse.rap.rwt.application.Application; +import org.eclipse.rap.rwt.application.ApplicationConfiguration; +import org.eclipse.rap.rwt.client.WebClient; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.osgi.framework.BundleContext; + +/** Lightweight web app using only RWT and not the whole Eclipse platform. */ +public class MinimalWebApp implements ApplicationConfiguration { + + private CmsTheme theme; + + public void init(BundleContext bundleContext) { + theme = new CmsTheme(bundleContext); + } + + public void destroy() { + + } + + @Override + public void configure(Application application) { + theme.apply(application); + + Map properties = new HashMap<>(); + properties.put(WebClient.THEME_ID, RWT.DEFAULT_THEME_ID); + properties.put(WebClient.HEAD_HTML, theme.getAdditionalHeaders()); + application.addEntryPoint("/test", TextEntryPoint.class, properties); + + } + + static class TextEntryPoint extends AbstractEntryPoint { + private static final long serialVersionUID = 2245808564950897823L; + + @Override + protected void createContents(Composite parent) { + parent.setLayout(new GridLayout()); + new Label(parent, SWT.NONE).setText("Hello World!"); + } + + } + +} diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/SimpleErgonomics.java b/org.argeo.cms.ui/src/org/argeo/cms/web/SimpleErgonomics.java similarity index 96% rename from org.argeo.cms.ui/src/org/argeo/cms/ui/util/SimpleErgonomics.java rename to org.argeo.cms.ui/src/org/argeo/cms/web/SimpleErgonomics.java index 92133f572..0ca37e2fd 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/SimpleErgonomics.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/web/SimpleErgonomics.java @@ -1,4 +1,4 @@ -package org.argeo.cms.ui.util; +package org.argeo.cms.web; import java.util.Map; @@ -9,11 +9,14 @@ import javax.jcr.RepositoryException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsException; -import org.argeo.cms.ui.AbstractCmsEntryPoint; import org.argeo.cms.ui.CmsImageManager; import org.argeo.cms.ui.CmsStyles; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.cms.ui.UxContext; +import org.argeo.cms.ui.util.CmsUiUtils; +import org.argeo.cms.ui.util.DefaultImageManager; +import org.argeo.cms.ui.util.SimpleUxContext; +import org.argeo.cms.ui.util.SystemNotifications; import org.eclipse.rap.rwt.RWT; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; -- 2.30.2