X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FSuiteApp.java;h=62e1a700a768356b444c35a42932c3cc5dcfc052;hp=ecb9ff781dbf0dd3eb8b21b0183ab0e57562834a;hb=4390bdf66e304558ecf692fdfb3983b7da4bc5ac;hpb=1b658b3ddd1563719c84968e90159ba604672af8 diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java index ecb9ff7..62e1a70 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java @@ -18,10 +18,12 @@ import javax.jcr.nodetype.NodeType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.api.NodeUtils; +import org.argeo.cms.CmsUserManager; import org.argeo.cms.ui.AbstractCmsApp; import org.argeo.cms.ui.CmsTheme; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.cms.ui.CmsView; +import org.argeo.cms.ui.MvcProvider; import org.argeo.cms.ui.dialogs.CmsFeedback; import org.argeo.cms.ui.util.CmsEvent; import org.argeo.cms.ui.util.CmsUiUtils; @@ -54,9 +56,13 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { private final static String DEFAULT_THEME_ID = "org.argeo.suite.theme.default"; private Map> uiProvidersByPid = Collections.synchronizedMap(new HashMap<>()); +// private Map>> mvcProvidersByPid = Collections +// .synchronizedMap(new HashMap<>()); private Map> uiProvidersByType = Collections.synchronizedMap(new HashMap<>()); private Map> layers = Collections.synchronizedSortedMap(new TreeMap<>()); + private CmsUserManager cmsUserManager; + // TODO make more optimal or via CmsSession/CmsView private Map managedUis = new HashMap<>(); @@ -327,6 +333,25 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { } +// public void addMvcProvider(MvcProvider uiProvider, Map properties) { +// if (properties.containsKey(Constants.SERVICE_PID)) { +// String pid = (String) properties.get(Constants.SERVICE_PID); +// RankedObject.putIfHigherRank(mvcProvidersByPid, pid, uiProvider, properties); +// } +// } +// +// public void removeMvcProvider(MvcProvider uiProvider, Map properties) { +// if (properties.containsKey(Constants.SERVICE_PID)) { +// String pid = (String) properties.get(Constants.SERVICE_PID); +// if (mvcProvidersByPid.containsKey(pid)) { +// if (mvcProvidersByPid.get(pid).equals(new RankedObject>(uiProvider, properties))) { +// mvcProvidersByPid.remove(pid); +// } +// } +// } +// +// } + public void addLayer(SuiteLayer layer, Map properties) { if (properties.containsKey(Constants.SERVICE_PID)) { String pid = (String) properties.get(Constants.SERVICE_PID); @@ -345,6 +370,10 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { } } + public void setCmsUserManager(CmsUserManager cmsUserManager) { + this.cmsUserManager = cmsUserManager; + } + @Override public void handleEvent(Event event) {