Login/logout working in new Argeo Suite.
[gpl/argeo-suite.git] / org.argeo.suite.e4.rap / src / org / argeo / suite / e4 / rap / settings / ArgeoRapApp.java
index 83a5bd0cf6726c81f8afe0f93eb427a487ad6613..3bdc90265832549fa8a47afb9b41006d60af0169 100644 (file)
@@ -1,36 +1,56 @@
 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.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<String, Object> 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)
-                       cmsTheme.apply(application);
+//             if (cmsTheme != null)
+//                     cmsTheme.apply(application);
 
                String font = "<link rel='stylesheet' href='http://fonts.googleapis.com/css?family=Source+Sans+Pro'/>";
                getBaseProperties().put(WebClient.HEAD_HTML, font);