projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve CMS web app lifecycle.
[lgpl/argeo-commons.git]
/
org.argeo.cms.ui
/
src
/
org
/
argeo
/
cms
/
ui
/
AbstractCmsApp.java
diff --git
a/org.argeo.cms.ui/src/org/argeo/cms/ui/AbstractCmsApp.java
b/org.argeo.cms.ui/src/org/argeo/cms/ui/AbstractCmsApp.java
index 9a1e41fd17f238164088a1e7dd9cbe630af1725d..77cd9838305b1c14dfc2ace95a06b887a4e2b27b 100644
(file)
--- a/
org.argeo.cms.ui/src/org/argeo/cms/ui/AbstractCmsApp.java
+++ b/
org.argeo.cms.ui/src/org/argeo/cms/ui/AbstractCmsApp.java
@@
-2,23
+2,21
@@
package org.argeo.cms.ui;
import java.util.ArrayList;
import java.util.Collections;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.List;
import java.util.Map;
-import java.util.Set;
-import java
.util.TreeMap
;
+
+import java
x.jcr.Repository
;
import org.eclipse.rap.rwt.RWT;
import org.eclipse.rap.rwt.RWT;
+/** Base class for {@link CmsApp}s. */
public abstract class AbstractCmsApp implements CmsApp {
public abstract class AbstractCmsApp implements CmsApp {
- private Map<String, CmsTheme> themes = Collections.synchronized
SortedMap(new Tree
Map<>());
+ private Map<String, CmsTheme> themes = Collections.synchronized
Map(new Hash
Map<>());
private List<CmsAppListener> cmsAppListeners = new ArrayList<>();
private List<CmsAppListener> cmsAppListeners = new ArrayList<>();
- @Override
- public Set<String> getUiNames() {
- // TODO Auto-generated method stub
- return null;
- }
+ private Repository repository;
protected abstract String getThemeId(String uiName);
protected abstract String getThemeId(String uiName);
@@
-27,10
+25,13
@@
public abstract class AbstractCmsApp implements CmsApp {
String themeId = getThemeId(uiName);
if (themeId == null)
return null;
String themeId = getThemeId(uiName);
if (themeId == null)
return null;
+ if (!themes.containsKey(themeId))
+ throw new IllegalArgumentException("Theme " + themeId + " not found.");
return themes.get(themeId);
}
return themes.get(themeId);
}
- protected boolean allThemesAvailable() {
+ @Override
+ public boolean allThemesAvailable() {
boolean themeMissing = false;
uiNames: for (String uiName : getUiNames()) {
String themeId = getThemeId(uiName);
boolean themeMissing = false;
uiNames: for (String uiName : getUiNames()) {
String themeId = getThemeId(uiName);
@@
-67,4
+68,12
@@
public abstract class AbstractCmsApp implements CmsApp {
cmsAppListeners.remove(listener);
}
cmsAppListeners.remove(listener);
}
+ protected Repository getRepository() {
+ return repository;
+ }
+
+ public void setRepository(Repository repository) {
+ this.repository = repository;
+ }
+
}
}