1 package org
.argeo
.suite
.core
;
3 import java
.io
.IOException
;
6 import javax
.jcr
.RepositoryException
;
7 import javax
.jcr
.Session
;
8 import javax
.jcr
.nodetype
.NodeType
;
9 import javax
.jcr
.security
.Privilege
;
11 import org
.argeo
.api
.NodeConstants
;
12 import org
.argeo
.entity
.EntityType
;
13 import org
.argeo
.jcr
.JcrUtils
;
14 import org
.argeo
.maintenance
.AbstractMaintenanceService
;
15 import org
.argeo
.suite
.SuiteRole
;
17 /** Initialises an Argeo Suite backend. */
18 public class SuiteMaintenanceService
extends AbstractMaintenanceService
{
21 public boolean prepareJcrTree(Session adminSession
) throws RepositoryException
, IOException
{
22 boolean modified
= false;
23 Node rootNode
= adminSession
.getRootNode();
24 if (!rootNode
.hasNode(EntityType
.user
.name())) {
25 rootNode
.addNode(EntityType
.user
.name(), NodeType
.NT_UNSTRUCTURED
);
34 public void configurePrivileges(Session adminSession
) throws RepositoryException
{
35 JcrUtils
.addPrivilege(adminSession
, EntityType
.user
.basePath(), NodeConstants
.ROLE_USER_ADMIN
,
37 JcrUtils
.addPrivilege(adminSession
, "/", SuiteRole
.coworker
.dn(), Privilege
.JCR_READ
);