X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.eclipse.ui.workbench%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Fworkbench%2Fjcr%2Finternal%2Fmodel%2FWorkspaceElem.java;h=54351ffd41df60d21dee31122671ccf29485ab2c;hb=ab81a6a1a62b51e670eae7482b1aa9181801cfbd;hp=8cd08d96e2ea8b038df5e7d25d48ae1c119f964a;hpb=21a4ea1fb5380ce1dd763c1ea09067cdd2dfd0f3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/jcr/internal/model/WorkspaceElem.java b/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/jcr/internal/model/WorkspaceElem.java index 8cd08d96e..54351ffd4 100644 --- a/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/jcr/internal/model/WorkspaceElem.java +++ b/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/jcr/internal/model/WorkspaceElem.java @@ -19,7 +19,7 @@ import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; import javax.jcr.Session; -import javax.jcr.Workspace; +// import javax.jcr.Workspace; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.TreeParent; @@ -43,11 +43,11 @@ public class WorkspaceElem extends TreeParent { setParent(parent); } - public Session getSession() { + public synchronized Session getSession() { return session; } - public Node getRootNode() { + public synchronized Node getRootNode() { try { if (session != null) return session.getRootNode(); @@ -59,7 +59,7 @@ public class WorkspaceElem extends TreeParent { } } - public void login() { + public synchronized void login() { try { session = ((RepositoryElem) getParent()).repositoryLogin(getName()); } catch (RepositoryException e) { @@ -82,13 +82,14 @@ public class WorkspaceElem extends TreeParent { } /** Logouts the session, does not nothing if there is no live session. */ - public void logout() { + public synchronized void logout() { clearChildren(); JcrUtils.logoutQuietly(session); + session = null; } @Override - public boolean hasChildren() { + public synchronized boolean hasChildren() { try { if (isConnected()) return session.getRootNode().hasNodes();