+++ /dev/null
-package org.argeo.cms.web;
-
-import static org.argeo.cms.osgi.BundleCmsTheme.CMS_THEME_BUNDLE_PROPERTY;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.argeo.cms.osgi.BundleCmsTheme;
-import org.eclipse.rap.rwt.RWT;
-import org.eclipse.rap.rwt.application.Application;
-import org.eclipse.rap.rwt.application.ApplicationConfiguration;
-import org.eclipse.rap.rwt.client.WebClient;
-import org.osgi.framework.BundleContext;
-
-/** Lightweight web app using only RWT and not the whole Eclipse platform. */
-public class MinimalWebApp implements ApplicationConfiguration {
-
- private BundleCmsTheme theme;
-
- public void init(BundleContext bundleContext, Map<String, Object> properties) {
- if (properties.containsKey(CMS_THEME_BUNDLE_PROPERTY)) {
- String cmsThemeBundle = properties.get(CMS_THEME_BUNDLE_PROPERTY).toString();
- theme = new BundleCmsTheme(bundleContext, cmsThemeBundle);
- }
- }
-
- public void destroy() {
-
- }
-
- /** To be overridden. Does nothing by default. */
- protected void addEntryPoints(Application application, Map<String, String> properties) {
-
- }
-
- @Override
- public void configure(Application application) {
- if (theme != null)
- WebThemeUtils.apply(application, theme);
-
- Map<String, String> properties = new HashMap<>();
- if (theme != null) {
- properties.put(WebClient.THEME_ID, theme.getThemeId());
- properties.put(WebClient.HEAD_HTML, theme.getHtmlHeaders());
- } else {
- properties.put(WebClient.THEME_ID, RWT.DEFAULT_THEME_ID);
- }
- addEntryPoints(application, properties);
-
- }
-
- public void setTheme(BundleCmsTheme theme) {
- this.theme = theme;
- }
-
-}