]> git.argeo.org Git - lgpl/argeo-commons.git/blob - AbstractRapE4App.java
66c796b8359b291a261123e7bc98dac6071d71d2
[lgpl/argeo-commons.git] / AbstractRapE4App.java
1 package org.argeo.cms.e4.rap;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 import org.argeo.cms.ui.dialogs.CmsFeedback;
7 import org.eclipse.rap.e4.E4ApplicationConfig;
8 import org.eclipse.rap.rwt.application.Application;
9 import org.eclipse.rap.rwt.application.Application.OperationMode;
10 import org.eclipse.rap.rwt.application.ApplicationConfiguration;
11 import org.eclipse.rap.rwt.application.ExceptionHandler;
12 import org.eclipse.rap.rwt.client.WebClient;
13
14 public abstract class AbstractRapE4App implements ApplicationConfiguration {
15 private String pageTitle;
16 private String e4Xmi;
17 private String path;
18 private String lifeCycleUri = "bundleclass://org.argeo.cms.e4.rap/org.argeo.cms.e4.rap.CmsLoginLifecycle";
19
20 public void configure(Application application) {
21 application.setExceptionHandler(new ExceptionHandler() {
22
23 @Override
24 public void handleException(Throwable throwable) {
25 CmsFeedback.show("Unexpected RWT exception", throwable);
26 }
27 });
28
29 Map<String, String> properties = new HashMap<String, String>();
30 properties.put(WebClient.PAGE_TITLE, pageTitle);
31 E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, null, false, true, true);
32 addEntryPoint(application, config, properties);
33 }
34
35 protected void addEntryPoint(Application application, E4ApplicationConfig config, Map<String, String> properties) {
36 CmsE4EntryPointFactory entryPointFactory = new CmsE4EntryPointFactory(config);
37 application.addEntryPoint(path, entryPointFactory, properties);
38 application.setOperationMode(OperationMode.SWT_COMPATIBILITY);
39 }
40
41 public void setPageTitle(String pageTitle) {
42 this.pageTitle = pageTitle;
43 }
44
45 public void setE4Xmi(String e4Xmi) {
46 this.e4Xmi = e4Xmi;
47 }
48
49 public void setPath(String path) {
50 this.path = path;
51 }
52
53 public void setLifeCycleUri(String lifeCycleUri) {
54 this.lifeCycleUri = lifeCycleUri;
55 }
56
57 }