X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.jcr%2Fsrc%2Forg%2Fargeo%2Fcms%2Fjcr%2Finternal%2FCmsJcrDeployment.java;h=a87135511e5e5ba21caa269f9c645df81a51c273;hb=940ce9759c33a2f409fb4491a05b0edb892584c7;hp=35800f8953a50f23812771cf6b912c7441013c02;hpb=bce03099b0d2f1758e7a3d74fba339d0200924d5;p=gpl%2Fargeo-jcr.git diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsJcrDeployment.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsJcrDeployment.java index 35800f8..a871355 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsJcrDeployment.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsJcrDeployment.java @@ -26,10 +26,12 @@ import javax.servlet.Servlet; import org.apache.jackrabbit.commons.cnd.CndImporter; import org.apache.jackrabbit.core.RepositoryContext; import org.apache.jackrabbit.core.RepositoryImpl; +import org.argeo.api.acr.spi.ProvidedRepository; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsLog; import org.argeo.cms.ArgeoNames; import org.argeo.cms.jcr.CmsJcrUtils; +import org.argeo.cms.jcr.acr.JcrContentNamespace; import org.argeo.cms.jcr.internal.servlet.CmsRemotingServlet; import org.argeo.cms.jcr.internal.servlet.CmsWebDavServlet; import org.argeo.cms.jcr.internal.servlet.JcrHttpUtils; @@ -62,17 +64,21 @@ public class CmsJcrDeployment { // Readiness private boolean nodeAvailable = false; + private ProvidedRepository contentRepository; + // CmsDeployment cmsDeployment; public void start() { dataModels = new DataModels(bc); + contentRepository.registerTypes(JcrContentNamespace.values()); + ServiceTracker repoContextSt = new RepositoryContextStc(); repoContextSt.open(); // KernelUtils.asyncOpen(repoContextSt); // nodeDeployment = CmsJcrActivator.getService(NodeDeployment.class); - //JcrInitUtils.addToDeployment(cmsDeployment); + // JcrInitUtils.addToDeployment(cmsDeployment); // contentRepository.registerTypes(NamespaceRegistry.PREFIX_JCR, NamespaceRegistry.NAMESPACE_JCR, null); // contentRepository.registerTypes(NamespaceRegistry.PREFIX_MIX, NamespaceRegistry.NAMESPACE_MIX, null); @@ -88,7 +94,6 @@ public class CmsJcrDeployment { // if (nodeHttp != null) // nodeHttp.destroy(); - try { for (ServiceReference sr : bc .getServiceReferences(JackrabbitLocalRepository.class, null)) { @@ -351,7 +356,8 @@ public class CmsJcrDeployment { boolean isStandalone(String dataModelName) { return true; - //return cmsDeployment.getProps(CmsConstants.NODE_REPOS_FACTORY_PID, dataModelName) != null; + // return cmsDeployment.getProps(CmsConstants.NODE_REPOS_FACTORY_PID, + // dataModelName) != null; } private void publishLocalRepo(String dataModelName, Repository repository) { @@ -432,6 +438,10 @@ public class CmsJcrDeployment { bc.registerService(Servlet.class, remotingServlet, ip); } + public void setContentRepository(ProvidedRepository contentRepository) { + this.contentRepository = contentRepository; + } + private class RepositoryContextStc extends ServiceTracker { public RepositoryContextStc() {