X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.akb%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fakb%2Fcore%2FAkbServiceImpl.java;h=b228b0a75a073f6db754c2dd93fe221d66054603;hb=93ad856792ccb84b534b2226e602c6b652799933;hp=02ccdc6f6f508a4203f3a3428c8fac0b4b518890;hpb=c5a5cb9a47fdafcc95f1b8902f31b62a0e6a9674;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.akb/src/main/java/org/argeo/slc/akb/core/AkbServiceImpl.java b/runtime/org.argeo.slc.akb/src/main/java/org/argeo/slc/akb/core/AkbServiceImpl.java index 02ccdc6f6..b228b0a75 100644 --- a/runtime/org.argeo.slc.akb/src/main/java/org/argeo/slc/akb/core/AkbServiceImpl.java +++ b/runtime/org.argeo.slc.akb/src/main/java/org/argeo/slc/akb/core/AkbServiceImpl.java @@ -3,20 +3,26 @@ package org.argeo.slc.akb.core; import java.util.Map; import javax.annotation.Resource; +import javax.jcr.Node; +import javax.jcr.Property; import javax.jcr.Repository; +import javax.jcr.RepositoryException; import javax.jcr.Session; +import javax.jcr.nodetype.NodeType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.jcr.JcrUtils; import org.argeo.slc.akb.AkbException; import org.argeo.slc.akb.AkbNames; +import org.argeo.slc.akb.AkbService; +import org.argeo.slc.akb.AkbTypes; /** * Concrete access to akb services. It provides among other an initialized * environment */ -public class AkbServiceImpl implements AkbNames { +public class AkbServiceImpl implements AkbService, AkbNames { private final static Log log = LogFactory.getLog(AkbServiceImpl.class); /* DEPENDENCY INJECTION */ @@ -55,19 +61,39 @@ public class AkbServiceImpl implements AkbNames { } finally { JcrUtils.logoutQuietly(adminSession); } - // log.info("AKB service has been initialized."); } /** Clean shutdown of the backend. */ public void destroy() { - // Do nothing } - /** Expose injected repository */ - public Repository getRepository() { - return repository; + @Override + public Node createAkbTemplate(Node parentNode, String name) + throws RepositoryException { + String connectorParentName = "Connectors"; + String itemsParentName = "Items"; + + Node newTemplate = parentNode.addNode(name, AkbTypes.AKB_ENV_TEMPLATE); + newTemplate.setProperty(Property.JCR_TITLE, name); + + Node connectorParent = newTemplate.addNode(connectorParentName, + NodeType.NT_UNSTRUCTURED); + connectorParent.addMixin(NodeType.MIX_TITLE); + connectorParent.setProperty(Property.JCR_TITLE, connectorParentName); + + Node itemsParent = newTemplate.addNode(itemsParentName, + NodeType.NT_UNSTRUCTURED); + itemsParent.addMixin(NodeType.MIX_TITLE); + itemsParent.setProperty(Property.JCR_TITLE, itemsParentName); + + return newTemplate; } + // /** Expose injected repository */ + // public Repository getRepository() { + // return repository; + // } + /* DEPENDENCY INJECTION */ public void setRepository(Repository repository) { this.repository = repository;