X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.core%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fcore%2FSuiteMaintenanceService.java;h=66cabc4922ad92335896b805625ac7973c28f070;hp=91f20433c5379fc8c24fe7084a48fe7c246df5d0;hb=58cf7a0df60e5f17d34dd26b9d08b00939d29d41;hpb=65030067b0125a4399f58b897b78debded2984d3 diff --git a/org.argeo.suite.core/src/org/argeo/suite/core/SuiteMaintenanceService.java b/org.argeo.suite.core/src/org/argeo/suite/core/SuiteMaintenanceService.java index 91f2043..66cabc4 100644 --- a/org.argeo.suite.core/src/org/argeo/suite/core/SuiteMaintenanceService.java +++ b/org.argeo.suite.core/src/org/argeo/suite/core/SuiteMaintenanceService.java @@ -2,10 +2,17 @@ package org.argeo.suite.core; import java.io.IOException; +import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; +import javax.jcr.nodetype.NodeType; +import javax.jcr.security.Privilege; +import org.argeo.api.NodeConstants; +import org.argeo.entity.EntityType; +import org.argeo.jcr.JcrUtils; import org.argeo.maintenance.AbstractMaintenanceService; +import org.argeo.suite.SuiteRole; /** Initialises an Argeo Suite backend. */ public class SuiteMaintenanceService extends AbstractMaintenanceService { @@ -13,14 +20,21 @@ public class SuiteMaintenanceService extends AbstractMaintenanceService { @Override public boolean prepareJcrTree(Session adminSession) throws RepositoryException, IOException { boolean modified = false; -// Node rootNode = adminSession.getRootNode(); -// if (!rootNode.hasNode(EntityNames.TERM)) { -// rootNode.addNode(EntityNames.TERM, EntityType.typologies.get()); -// modified = true; -// } -// if (modified) -// adminSession.save(); + Node rootNode = adminSession.getRootNode(); + if (!rootNode.hasNode(EntityType.user.name())) { + rootNode.addNode(EntityType.user.name(), NodeType.NT_UNSTRUCTURED); + modified = true; + } + if (modified) + adminSession.save(); return modified; } + @Override + public void configurePrivileges(Session adminSession) throws RepositoryException { + JcrUtils.addPrivilege(adminSession, EntityType.user.basePath(), NodeConstants.ROLE_USER_ADMIN, + Privilege.JCR_ALL); + //JcrUtils.addPrivilege(adminSession, "/", SuiteRole.coworker.dn(), Privilege.JCR_READ); + } + }