- 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();
- // }
- //
- // };
+ if (e4Xmi != null) {// backward compatibility
+ addE4EntryPoint(application, path, e4Xmi, getBaseProperties());
+ } else {
+ addEntryPoints(application);
+ }
+ }
+
+ /**
+ * To be overridden in order to add multiple entry points, directly or using
+ * {@link #addE4EntryPoint(Application, String, String, Map)}.
+ */
+ protected void addEntryPoints(Application application) {
+
+ }
+
+ protected Map<String, String> getBaseProperties() {
+ return baseProperties;