From 08c2efb392a969f02008073f55d310c95bddade9 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 24 Oct 2019 09:56:31 +0200 Subject: [PATCH] Make RAP application more customisable. --- .../argeo/cms/e4/rap/AbstractRapE4App.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java index 1d70044b3..c293f1ab0 100644 --- a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java +++ b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java @@ -54,21 +54,41 @@ public abstract class AbstractRapE4App implements ApplicationConfiguration { // } protected void addE4EntryPoint(Application application, String path, String e4Xmi, Map properties) { - E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, null, false, true, true); + E4ApplicationConfig config = createE4ApplicationConfig(e4Xmi); CmsE4EntryPointFactory entryPointFactory = new CmsE4EntryPointFactory(config); application.addEntryPoint(path, entryPointFactory, properties); application.setOperationMode(OperationMode.SWT_COMPATIBILITY); } + /** + * To be overridden for further configuration. + * + * @see E4ApplicationConfig + */ + protected E4ApplicationConfig createE4ApplicationConfig(String e4Xmi) { + return new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, null, false, true, true); + } + + @Deprecated public void setPageTitle(String pageTitle) { if (pageTitle != null) baseProperties.put(WebClient.PAGE_TITLE, pageTitle); } + /** Returns a new map used to customise and entry point. */ + public Map customise(String pageTitle) { + Map custom = new HashMap<>(getBaseProperties()); + if (pageTitle != null) + custom.put(WebClient.PAGE_TITLE, pageTitle); + return custom; + } + + @Deprecated public void setE4Xmi(String e4Xmi) { this.e4Xmi = e4Xmi; } + @Deprecated public void setPath(String path) { this.path = path; } @@ -84,4 +104,8 @@ public abstract class AbstractRapE4App implements ApplicationConfiguration { baseProperties.put(key, value.toString()); } } + + public void destroy(Map properties) { + + } } -- 2.30.2