X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2FAbstractCmsApp.java;h=cefdb86b3d71cdf480a5ad22528ad47141e54624;hb=c7b612ca9bd7df43b0bec37c8abcae846587c978;hp=a7049a4f49a23ea2fcd27dc508418fa73845c5c1;hpb=b7683883512d924a039a43c2e1102290aa49f64d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/AbstractCmsApp.java b/org.argeo.cms/src/org/argeo/cms/AbstractCmsApp.java index a7049a4f4..cefdb86b3 100644 --- a/org.argeo.cms/src/org/argeo/cms/AbstractCmsApp.java +++ b/org.argeo.cms/src/org/argeo/cms/AbstractCmsApp.java @@ -8,15 +8,21 @@ import java.util.Map; import org.argeo.api.cms.CmsApp; import org.argeo.api.cms.CmsAppListener; -import org.argeo.api.cms.CmsTheme; +import org.argeo.api.cms.CmsContext; +import org.argeo.api.cms.ux.CmsTheme; /** Base class for {@link CmsApp}s. */ public abstract class AbstractCmsApp implements CmsApp { + private CmsContext cmsContext; + private Map themes = Collections.synchronizedMap(new HashMap<>()); private List cmsAppListeners = new ArrayList<>(); - protected abstract String getThemeId(String uiName); + /** To be overridden in order to provide themes. */ + protected String getThemeId(String uiName) { + return null; + } @Override public CmsTheme getTheme(String uiName) { @@ -35,7 +41,7 @@ public abstract class AbstractCmsApp implements CmsApp { String themeId = getThemeId(uiName); if ("org.eclipse.rap.rwt.theme.Default".equals(themeId)) continue uiNames; - if (!themes.containsKey(themeId)) { + if (themeId != null && !themes.containsKey(themeId)) { themeMissing = true; break uiNames; } @@ -66,4 +72,15 @@ public abstract class AbstractCmsApp implements CmsApp { cmsAppListeners.remove(listener); } + @Override + public CmsContext getCmsContext() { + return cmsContext; + } + + public void setCmsContext(CmsContext cmsContext) { + this.cmsContext = cmsContext; + } + + + }