1 package org
.argeo
.app
.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
.acr
.spi
.ProvidedRepository
;
12 import org
.argeo
.api
.cms
.CmsConstants
;
13 import org
.argeo
.app
.api
.EntityType
;
14 import org
.argeo
.jcr
.JcrUtils
;
15 import org
.argeo
.maintenance
.AbstractMaintenanceService
;
17 /** Initialises an Argeo Suite backend. */
18 public class SuiteMaintenanceService
extends AbstractMaintenanceService
{
23 for (SuiteContentTypes types
: SuiteContentTypes
.values()) {
24 getContentRepository().registerTypes(types
.getDefaultPrefix(), types
.getNamespace(),
25 types
.getResource() != null ? types
.getResource().toExternalForm() : null);
30 public boolean prepareJcrTree(Session adminSession
) throws RepositoryException
, IOException
{
31 boolean modified
= false;
32 Node rootNode
= adminSession
.getRootNode();
33 if (!rootNode
.hasNode(EntityType
.user
.name())) {
34 rootNode
.addNode(EntityType
.user
.name(), NodeType
.NT_UNSTRUCTURED
);
43 public void configurePrivileges(Session adminSession
) throws RepositoryException
{
44 JcrUtils
.addPrivilege(adminSession
, EntityType
.user
.basePath(), CmsConstants
.ROLE_USER_ADMIN
,
46 // JcrUtils.addPrivilege(adminSession, "/", SuiteRole.coworker.dn(),
47 // Privilege.JCR_READ);