X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.e4.rap%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fe4%2Frap%2Fsettings%2FArgeoRapApp.java;h=e575f5553da17b258ed501e8f76a477ea40948bf;hb=9f1934208258e05cd309a965c1002ac3682275db;hp=83a5bd0cf6726c81f8afe0f93eb427a487ad6613;hpb=c2da92a9dcef3f64901f2a01f5f3dca671813e1c;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/ArgeoRapApp.java b/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/ArgeoRapApp.java index 83a5bd0..e575f55 100644 --- a/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/ArgeoRapApp.java +++ b/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/ArgeoRapApp.java @@ -1,32 +1,52 @@ package org.argeo.suite.e4.rap.settings; import java.util.Enumeration; +import java.util.Map; import org.apache.commons.io.FilenameUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.e4.rap.AbstractRapE4App; -import org.argeo.cms.util.CmsTheme; +import org.argeo.cms.ui.util.CmsTheme; import org.eclipse.rap.rwt.application.Application; import org.eclipse.rap.rwt.client.WebClient; import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; /** Argeo RAP app. */ public class ArgeoRapApp extends AbstractRapE4App { private final static Log log = LogFactory.getLog(ArgeoRapApp.class); - private Bundle bundle; private CmsTheme cmsTheme; private String baseE4xmi = "/e4xmi"; + private Bundle bundle; - public ArgeoRapApp(Bundle bundle, CmsTheme cmsTheme) { - this.bundle = bundle; + public ArgeoRapApp(BundleContext bundleContext, Bundle bundle, CmsTheme cmsTheme) { + setBundleContext(bundleContext); this.cmsTheme = cmsTheme; + this.bundle = bundle; setLifeCycleUri("bundleclass://org.argeo.suite.e4.rap/org.argeo.suite.e4.rap.ArgeoSuiteLoginLifecycle"); - String contextName = "argeo/" + FilenameUtils.getExtension(bundle.getSymbolicName()); + String contextName = "apps/" + FilenameUtils.getExtension(bundle.getSymbolicName()); setContextName(contextName); } + public ArgeoRapApp() { + setLifeCycleUri("bundleclass://org.argeo.suite.e4.rap/org.argeo.suite.e4.rap.ArgeoSuiteLoginLifecycle"); + } + + @Override + public void init(BundleContext bundleContext, Map properties) { + super.init(bundleContext, properties); + // super must be first + if (getBaseProperties().containsKey(CmsTheme.CMS_THEME_BUNDLE_PROPERTY)) { + String cmsThemeBundle = getBaseProperties().get(CmsTheme.CMS_THEME_BUNDLE_PROPERTY); + cmsTheme = new CmsTheme(getBundleContext(), cmsThemeBundle); + } else { + cmsTheme = new CmsTheme(getBundleContext(), CmsTheme.DEFAULT_CMS_THEME_BUNDLE); + } + bundle = bundleContext.getBundle(); + } + @Override protected void addEntryPoints(Application application) { if (cmsTheme != null)