From 7cc4759ad965aa9056012f41db22c2f4d7bc103d Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 19 Oct 2015 10:07:58 +0000 Subject: [PATCH] Publish Jackrabbit repositories as such. git-svn-id: https://svn.argeo.org/commons/trunk@8522 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/cms/internal/kernel/Kernel.java | 12 ++++++----- .../argeo/jackrabbit/JackrabbitWrapper.java | 21 +++++++++++++++++-- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java index 8a1cf8e96..c9f9b5fe8 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java @@ -31,6 +31,7 @@ import javax.transaction.UserTransaction; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.jackrabbit.api.JackrabbitRepository; import org.apache.jackrabbit.util.TransientFileFactory; import org.argeo.ArgeoException; import org.argeo.ArgeoLogger; @@ -79,7 +80,7 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { private ServiceRegistration tmReg; private ServiceRegistration utReg; private ServiceRegistration tsrReg; - private ServiceRegistration repositoryReg; + private ServiceRegistration repositoryReg; private ServiceRegistration repositoryFactoryReg; private ServiceRegistration userAdminReg; @@ -106,8 +107,6 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { public Kernel() { nodeSecurity = new NodeSecurity(); - // log.debug(bc.getDataFile("")); - // log.debug(bc.getDataFile("test")); } final void init() { @@ -281,6 +280,7 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { } } + @SuppressWarnings("unchecked") private void publish() { // Listen to service publication (also ours) bc.addServiceListener(Kernel.this); @@ -300,8 +300,10 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener { // JCR Hashtable regProps = new Hashtable(); regProps.put(JCR_REPOSITORY_ALIAS, ALIAS_NODE); - repositoryReg = bc.registerService(Repository.class, repository, - regProps); + repositoryReg = (ServiceRegistration) bc + .registerService(new String[] { Repository.class.getName(), + JackrabbitRepository.class.getName() }, repository, + regProps); repositoryFactoryReg = bc.registerService(RepositoryFactory.class, repositoryFactory, null); } diff --git a/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitWrapper.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitWrapper.java index a9f97d44e..7288cdf4b 100644 --- a/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitWrapper.java +++ b/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitWrapper.java @@ -26,8 +26,11 @@ import java.util.List; import java.util.Map; import javax.jcr.Credentials; +import javax.jcr.LoginException; +import javax.jcr.NoSuchWorkspaceException; import javax.jcr.Node; import javax.jcr.NodeIterator; +import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.nodetype.NodeType; @@ -35,6 +38,7 @@ import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.jackrabbit.api.JackrabbitRepository; import org.apache.jackrabbit.commons.NamespaceHelper; import org.apache.jackrabbit.commons.cnd.CndImporter; import org.argeo.ArgeoException; @@ -59,7 +63,7 @@ import org.springframework.core.io.ResourceLoader; */ @SuppressWarnings("deprecation") public class JackrabbitWrapper extends JcrRepositoryWrapper implements - ResourceLoaderAware { + JackrabbitRepository, ResourceLoaderAware { private final static Log log = LogFactory.getLog(JackrabbitWrapper.class); private final static String DIGEST_ALGORITHM = "MD5"; @@ -298,8 +302,21 @@ public class JackrabbitWrapper extends JcrRepositoryWrapper implements } /* - * REPOSITORY INTERCEPTOR + * JACKRABBIT REPOSITORY IMPLEMENTATION */ + @Override + public Session login(Credentials credentials, String workspaceName, + Map attributes) throws LoginException, + NoSuchWorkspaceException, RepositoryException { + // TODO Auto-generated method stub + return null; + } + + @Override + public void shutdown() { + // TODO Auto-generated method stub + + } /* * UTILITIES -- 2.30.2