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
{
19 private ProvidedRepository contentRepository
;
25 for (SuiteContentTypes types
: SuiteContentTypes
.values()) {
26 contentRepository
.registerTypes(types
.getDefaultPrefix(), types
.getNamespace(),
27 types
.getResource().toExternalForm());
32 public boolean prepareJcrTree(Session adminSession
) throws RepositoryException
, IOException
{
33 boolean modified
= false;
34 Node rootNode
= adminSession
.getRootNode();
35 if (!rootNode
.hasNode(EntityType
.user
.name())) {
36 rootNode
.addNode(EntityType
.user
.name(), NodeType
.NT_UNSTRUCTURED
);
45 public void configurePrivileges(Session adminSession
) throws RepositoryException
{
46 JcrUtils
.addPrivilege(adminSession
, EntityType
.user
.basePath(), CmsConstants
.ROLE_USER_ADMIN
,
48 // JcrUtils.addPrivilege(adminSession, "/", SuiteRole.coworker.dn(),
49 // Privilege.JCR_READ);
52 public void setContentRepository(ProvidedRepository contentRepository
) {
53 this.contentRepository
= contentRepository
;