X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2FSuiteUi.java;h=f4464ba0265708f4eba04d6709eea28b8ca6257d;hb=c6b561fc1d45dd5abcbf86f99ae546bdc3b42b8d;hp=b2e43852bed2441ac2d47e8a37adde5bc18229fb;hpb=942fd932e1f6ed3319575c4c1d944912dfca9fa5;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java index b2e4385..f4464ba 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java @@ -3,18 +3,12 @@ package org.argeo.app.ui; import java.util.HashMap; import java.util.Map; -import javax.jcr.Node; -import javax.jcr.Repository; -import javax.jcr.RepositoryException; -import javax.jcr.Session; - -import org.argeo.api.cms.CmsUi; -import org.argeo.api.cms.CmsView; +import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsLog; -import org.argeo.api.cms.CmsConstants; +import org.argeo.api.cms.ux.CmsUi; +import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.Localized; import org.argeo.cms.swt.CmsSwtUtils; -import org.argeo.jcr.Jcr; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; @@ -32,9 +26,9 @@ class SuiteUi extends Composite implements CmsUi { private Composite sidePane; private Composite dynamicArea; - private Session sysSession; - private Session homeSession; - private Node userDir; +// private Session sysSession; +// private Session homeSession; + private Content userDir; private Map layers = new HashMap<>(); private Map workAreas = new HashMap<>(); @@ -106,7 +100,7 @@ class SuiteUi extends Composite implements CmsUi { return currentLayerId; } - private Composite getLayer(String id, Node context) { + private Composite getLayer(String id, Content context) { if (!layers.containsKey(id)) return null; if (!workAreas.containsKey(id)) @@ -114,7 +108,7 @@ class SuiteUi extends Composite implements CmsUi { return workAreas.get(id); } - Composite switchToLayer(String layerId, Node context) { + Composite switchToLayer(String layerId, Content context) { Composite current = null; if (currentLayerId != null) { current = getCurrentWorkArea(); @@ -123,7 +117,7 @@ class SuiteUi extends Composite implements CmsUi { } if (context == null) { if (!cmsView.isAnonymous()) - context = userDir; + context = getUserDirNode(); } Composite toShow = getLayer(layerId, context); if (toShow != null) { @@ -146,7 +140,7 @@ class SuiteUi extends Composite implements CmsUi { } } - Composite switchToLayer(SuiteLayer layer, Node context) { + Composite switchToLayer(SuiteLayer layer, Content context) { // TODO make it more robust for (String layerId : layers.keySet()) { SuiteLayer l = layers.get(layerId); @@ -170,7 +164,7 @@ class SuiteUi extends Composite implements CmsUi { } } - protected Composite initLayer(String id, SuiteLayer layer, Node context) { + protected Composite initLayer(String id, SuiteLayer layer, Content context) { Composite workArea = cmsView.doAs(() -> (Composite) layer.createUiPart(dynamicArea, context)); CmsSwtUtils.style(workArea, SuiteStyle.workArea); workArea.setLayoutData(CmsSwtUtils.coverAll()); @@ -180,8 +174,8 @@ class SuiteUi extends Composite implements CmsUi { synchronized void logout() { userDir = null; - Jcr.logout(sysSession); - Jcr.logout(homeSession); +// Jcr.logout(sysSession); +// Jcr.logout(homeSession); currentLayerId = null; workAreas.clear(); } @@ -214,35 +208,46 @@ class SuiteUi extends Composite implements CmsUi { // return sysSession; // } // - synchronized void initSessions(Repository repository, String userDirPath) throws RepositoryException { - this.sysSession = repository.login(); - this.homeSession = repository.login(CmsConstants.HOME_WORKSPACE); - userDir = sysSession.getNode(userDirPath); - addDisposeListener((e) -> { - Jcr.logout(sysSession); - Jcr.logout(homeSession); - }); - } +// synchronized void initSessions(Repository repository, String userDirPath) throws RepositoryException { +// this.sysSession = repository.login(); +// this.homeSession = repository.login(CmsConstants.HOME_WORKSPACE); +// userDir = sysSession.getNode(userDirPath); +// addDisposeListener((e) -> { +// Jcr.logout(sysSession); +// Jcr.logout(homeSession); +// }); +// } - Node getUserDir() { + @Deprecated + Content getUserDirNode() { + if (userDir == null) + return null; return userDir; } - Session getSysSession() { - return sysSession; + Content getUserDir() { + return userDir; } - Session getSession(String workspaceName) { - if (workspaceName == null) - return sysSession; - if (CmsConstants.SYS_WORKSPACE.equals(workspaceName)) - return sysSession; - else if (CmsConstants.HOME_WORKSPACE.equals(workspaceName)) - return homeSession; - else - throw new IllegalArgumentException("Unknown workspace " + workspaceName); + void setUserDir(Content userDir) { + this.userDir = userDir; } +// Session getSysSession() { +// return sysSession; +// } + +// Session getSession(String workspaceName) { +// if (workspaceName == null) +// return sysSession; +// if (CmsConstants.SYS_WORKSPACE.equals(workspaceName)) +// return sysSession; +// else if (CmsConstants.HOME_WORKSPACE.equals(workspaceName)) +// return homeSession; +// else +// throw new IllegalArgumentException("Unknown workspace " + workspaceName); +// } + public CmsView getCmsView() { return cmsView; }