+++ /dev/null
-package org.argeo.app.core;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import javax.jcr.Node;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.nodetype.NodeType;
-import javax.jcr.security.Privilege;
-import javax.measure.Quantity;
-import javax.measure.quantity.Area;
-
-import org.argeo.api.acr.spi.ContentNamespace;
-import org.argeo.api.cms.CmsConstants;
-import org.argeo.app.api.EntityType;
-import org.argeo.jcr.JcrUtils;
-import org.argeo.maintenance.AbstractMaintenanceService;
-import org.geotools.gml3.v3_2.GML;
-
-import si.uom.SI;
-import tech.units.indriya.quantity.Quantities;
-
-/** Initialises an Argeo Suite backend. */
-public class SuiteMaintenanceService extends AbstractMaintenanceService {
- @Override
- public void init() {
- // make sure that the unit system is initialised
- Quantity<Area> dummy = Quantities.getQuantity(0, SI.SQUARE_METRE);
-
- super.init();
-
- getContentRepository().registerTypes(SuiteContentNamespace.values());
-// for (SuiteContentTypes types : SuiteContentTypes.values()) {
-// getContentRepository().registerTypes(types.getDefaultPrefix(), types.getNamespace(),
-// types.getResource() != null ? types.getResource().toExternalForm() : null);
-// }
-
- // GML schema import fails because of xlinks issues
- getContentRepository().registerTypes(new ContentNamespace() {
-
- @Override
- public URL getSchemaResource() {
- try {
- return new URL(GML.getInstance().getSchemaLocation());
- } catch (MalformedURLException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- @Override
- public String getNamespaceURI() {
- return GML.getInstance().getNamespaceURI();
- }
-
- @Override
- public String getDefaultPrefix() {
- return "gml";
- }
- });
- }
-
- @Override
- public boolean prepareJcrTree(Session adminSession) throws RepositoryException, IOException {
- boolean modified = false;
- 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(), CmsConstants.ROLE_USER_ADMIN,
- Privilege.JCR_ALL);
- // JcrUtils.addPrivilege(adminSession, "/", SuiteRole.coworker.dn(),
- // Privilege.JCR_READ);
- }
-
-}