]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/controllers/DistTreeContentProvider.java
Add doAs in RCP CmsView.
[gpl/argeo-slc.git] / org.argeo.slc.client.ui.dist / src / org / argeo / slc / client / ui / dist / controllers / DistTreeContentProvider.java
index 1dd3228644f9b52642967a0cc2fd0a0e2431138a..b7e25d1ee47295433c29f481fdf36eb173307bfa 100644 (file)
@@ -12,12 +12,13 @@ import javax.jcr.RepositoryFactory;
 import javax.jcr.Session;
 import javax.jcr.nodetype.NodeType;
 
+import org.argeo.api.NodeConstants;
+import org.argeo.api.NodeUtils;
+import org.argeo.api.security.Keyring;
+import org.argeo.cms.ArgeoNames;
+import org.argeo.cms.ArgeoTypes;
 import org.argeo.eclipse.ui.TreeParent;
 import org.argeo.jcr.JcrUtils;
-import org.argeo.node.ArgeoNames;
-import org.argeo.node.ArgeoTypes;
-import org.argeo.node.NodeUtils;
-import org.argeo.node.security.Keyring;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.client.ui.dist.model.RepoElem;
 import org.argeo.slc.repo.RepoConstants;
@@ -44,10 +45,9 @@ public class DistTreeContentProvider implements ITreeContentProvider {
                try {
                        if (nodeSession != null)
                                dispose();
-                       nodeSession = nodeRepository.login();
+                       nodeSession = nodeRepository.login(NodeConstants.HOME_WORKSPACE);
 
-                       String reposPath = NodeUtils.getUserHome(nodeSession).getPath()
-                                       + RepoConstants.REPOSITORIES_BASE_PATH;
+                       String reposPath = NodeUtils.getUserHome(nodeSession).getPath() + RepoConstants.REPOSITORIES_BASE_PATH;
 
                        if (!nodeSession.itemExists(reposPath))
                                initializeModel(nodeSession);
@@ -56,11 +56,10 @@ public class DistTreeContentProvider implements ITreeContentProvider {
                        while (repos.hasNext()) {
                                Node repoNode = repos.nextNode();
                                if (repoNode.isNodeType(ArgeoTypes.ARGEO_REMOTE_REPOSITORY)) {
-                                       String label = repoNode.isNodeType(NodeType.MIX_TITLE) ? repoNode
-                                                       .getProperty(Property.JCR_TITLE).getString()
+                                       String label = repoNode.isNodeType(NodeType.MIX_TITLE)
+                                                       ? repoNode.getProperty(Property.JCR_TITLE).getString()
                                                        : repoNode.getName();
-                                       repositories.add(new RepoElem(repositoryFactory, keyring,
-                                                       repoNode, label));
+                                       repositories.add(new RepoElem(repositoryFactory, keyring, repoNode, label));
                                }
                        }
                } catch (RepositoryException e) {
@@ -109,23 +108,19 @@ public class DistTreeContentProvider implements ITreeContentProvider {
                                throw new SlcException("User must be authenticated.");
 
                        // make sure base directory is available
-                       Node repos = JcrUtils.mkdirs(nodeSession, homeNode.getPath()
-                                       + RepoConstants.REPOSITORIES_BASE_PATH);
+                       Node repos = JcrUtils.mkdirs(homeNode, RepoConstants.REPOSITORIES_BASE_PATH, null);
                        if (nodeSession.hasPendingChanges())
                                nodeSession.save();
 
                        // register default local java repository
                        String alias = RepoConstants.DEFAULT_JAVA_REPOSITORY_ALIAS;
-                       Repository javaRepository = NodeUtils.getRepositoryByAlias(
-                                       repositoryFactory, alias);
+                       Repository javaRepository = NodeUtils.getRepositoryByAlias(repositoryFactory, alias);
                        if (javaRepository != null) {
                                if (!repos.hasNode(alias)) {
-                                       Node repoNode = repos.addNode(alias,
-                                                       ArgeoTypes.ARGEO_REMOTE_REPOSITORY);
+                                       Node repoNode = repos.addNode(alias, ArgeoTypes.ARGEO_REMOTE_REPOSITORY);
                                        repoNode.setProperty(ArgeoNames.ARGEO_URI, "vm:///" + alias);
                                        repoNode.addMixin(NodeType.MIX_TITLE);
-                                       repoNode.setProperty(Property.JCR_TITLE,
-                                                       RepoConstants.DEFAULT_JAVA_REPOSITORY_LABEL);
+                                       repoNode.setProperty(Property.JCR_TITLE, RepoConstants.DEFAULT_JAVA_REPOSITORY_LABEL);
                                        nodeSession.save();
                                }
                        }