Adapt to changes in Argeo TP
[lgpl/argeo-commons.git] / org.argeo.cms.e4.rap / src / org / argeo / cms / e4 / rap / AbstractRapE4App.java
index 68415f31adbabc9479936c6349a9508423e75ce0..66c796b8359b291a261123e7bc98dac6071d71d2 100644 (file)
@@ -3,10 +3,6 @@ package org.argeo.cms.e4.rap;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.security.auth.Subject;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.argeo.cms.ui.dialogs.CmsFeedback;
 import org.eclipse.rap.e4.E4ApplicationConfig;
 import org.eclipse.rap.rwt.application.Application;
@@ -14,17 +10,12 @@ import org.eclipse.rap.rwt.application.Application.OperationMode;
 import org.eclipse.rap.rwt.application.ApplicationConfiguration;
 import org.eclipse.rap.rwt.application.ExceptionHandler;
 import org.eclipse.rap.rwt.client.WebClient;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
 
 public abstract class AbstractRapE4App implements ApplicationConfiguration {
-       private final static Log log = LogFactory.getLog(AbstractRapE4App.class);
-
-       private final BundleContext bc = FrameworkUtil.getBundle(AbstractRapE4App.class).getBundleContext();
-
        private String pageTitle;
        private String e4Xmi;
        private String path;
+       private String lifeCycleUri = "bundleclass://org.argeo.cms.e4.rap/org.argeo.cms.e4.rap.CmsLoginLifecycle";
 
        public void configure(Application application) {
                application.setExceptionHandler(new ExceptionHandler() {
@@ -32,53 +23,17 @@ public abstract class AbstractRapE4App implements ApplicationConfiguration {
                        @Override
                        public void handleException(Throwable throwable) {
                                CmsFeedback.show("Unexpected RWT exception", throwable);
-                               // log.error("Unexpected RWT exception", throwable);
-
                        }
                });
 
-               String lifeCycleUri = "bundleclass://" + bc.getBundle().getSymbolicName() + "/"
-                               + CmsLoginLifecycle.class.getName();
-
                Map<String, String> properties = new HashMap<String, String>();
                properties.put(WebClient.PAGE_TITLE, pageTitle);
-               E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, false, true, true);
-               Subject subject = new Subject();
-               addEntryPoint(application, subject, config, properties);
-               // config.isClearPersistedState();
-               // E4EntryPointFactory entryPointFactory = new E4EntryPointFactory(config) {
-               //
-               // @Override
-               // public EntryPoint create() {
-               // Subject subject = new Subject();
-               // EntryPoint ep = createEntryPoint();
-               // EntryPoint authEp = new EntryPoint() {
-               //
-               // @Override
-               // public int createUI() {
-               // return Subject.doAs(subject, new PrivilegedAction<Integer>() {
-               //
-               // @Override
-               // public Integer run() {
-               // return ep.createUI();
-               // }
-               //
-               // });
-               // }
-               // };
-               // return authEp;
-               // }
-               //
-               // protected EntryPoint createEntryPoint() {
-               // return super.create();
-               // }
-               //
-               // };
+               E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, null, false, true, true);
+               addEntryPoint(application, config, properties);
        }
 
-       protected void addEntryPoint(Application application, Subject subject, E4ApplicationConfig config,
-                       Map<String, String> properties) {
-               CmsE4EntryPointFactory entryPointFactory = new CmsE4EntryPointFactory(subject, config);
+       protected void addEntryPoint(Application application, E4ApplicationConfig config, Map<String, String> properties) {
+               CmsE4EntryPointFactory entryPointFactory = new CmsE4EntryPointFactory(config);
                application.addEntryPoint(path, entryPointFactory, properties);
                application.setOperationMode(OperationMode.SWT_COMPATIBILITY);
        }
@@ -95,4 +50,8 @@ public abstract class AbstractRapE4App implements ApplicationConfiguration {
                this.path = path;
        }
 
+       public void setLifeCycleUri(String lifeCycleUri) {
+               this.lifeCycleUri = lifeCycleUri;
+       }
+
 }