Introduce XSD support
[gpl/argeo-suite.git] / org.argeo.app.core / src / org / argeo / app / core / SuiteMaintenanceService.java
index 532b7dd511f45b2bad990446079c148e5944ab5e..ce90a873b0f9ff20210bb613fefe983c810d3803 100644 (file)
@@ -8,6 +8,7 @@ import javax.jcr.Session;
 import javax.jcr.nodetype.NodeType;
 import javax.jcr.security.Privilege;
 
+import org.argeo.api.acr.spi.ProvidedRepository;
 import org.argeo.api.cms.CmsConstants;
 import org.argeo.app.api.EntityType;
 import org.argeo.jcr.JcrUtils;
@@ -15,6 +16,17 @@ import org.argeo.maintenance.AbstractMaintenanceService;
 
 /** Initialises an Argeo Suite backend. */
 public class SuiteMaintenanceService extends AbstractMaintenanceService {
+       private ProvidedRepository contentRepository;
+
+       @Override
+       public void init() {
+               super.init();
+
+               for (SuiteContentTypes types : SuiteContentTypes.values()) {
+                       contentRepository.registerTypes(types.getDefaultPrefix(), types.getNamespace(),
+                                       types.getResource().toExternalForm());
+               }
+       }
 
        @Override
        public boolean prepareJcrTree(Session adminSession) throws RepositoryException, IOException {
@@ -33,7 +45,12 @@ public class SuiteMaintenanceService extends AbstractMaintenanceService {
        public void configurePrivileges(Session adminSession) throws RepositoryException {
                JcrUtils.addPrivilege(adminSession, EntityType.user.basePath(), CmsConstants.ROLE_USER_ADMIN,
                                Privilege.JCR_ALL);
-               //JcrUtils.addPrivilege(adminSession, "/", SuiteRole.coworker.dn(), Privilege.JCR_READ);
+               // JcrUtils.addPrivilege(adminSession, "/", SuiteRole.coworker.dn(),
+               // Privilege.JCR_READ);
+       }
+
+       public void setContentRepository(ProvidedRepository contentRepository) {
+               this.contentRepository = contentRepository;
        }
 
 }