From: Mathieu Baudier Date: Mon, 3 Dec 2018 10:22:42 +0000 (+0100) Subject: Work on CMS FS provider X-Git-Tag: argeo-commons-2.1.76~12 X-Git-Url: https://git.argeo.org/?a=commitdiff_plain;h=cff23f8dd98a91cf74a098e11f6b941e74df2917;p=lgpl%2Fargeo-commons.git Work on CMS FS provider --- diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsFsProvider.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsFsProvider.java index 614ff6c49..32f742771 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsFsProvider.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsFsProvider.java @@ -16,7 +16,6 @@ import javax.jcr.Session; import org.argeo.cms.CmsException; import org.argeo.cms.auth.CurrentUser; import org.argeo.jackrabbit.fs.AbstractJackrabbitFsProvider; -import org.argeo.jcr.JcrUtils; import org.argeo.jcr.fs.JcrFileSystem; import org.argeo.jcr.fs.JcrFsException; import org.argeo.node.NodeConstants; @@ -26,7 +25,6 @@ import org.osgi.framework.FrameworkUtil; public class CmsFsProvider extends AbstractJackrabbitFsProvider { private Map fileSystems = new HashMap<>(); - private BundleContext bc = FrameworkUtil.getBundle(CmsFsProvider.class).getBundleContext(); @Override public String getScheme() { @@ -35,6 +33,7 @@ public class CmsFsProvider extends AbstractJackrabbitFsProvider { @Override public FileSystem newFileSystem(URI uri, Map env) throws IOException { + BundleContext bc = FrameworkUtil.getBundle(CmsFsProvider.class).getBundleContext(); String username = CurrentUser.getUsername(); if (username == null) { // TODO deal with anonymous diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java index e3d48a6f4..789312625 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java @@ -98,10 +98,9 @@ public class CmsState implements NodeState { throw new CmsException("Usupported transaction manager type " + tmType); } - // POI // POIXMLTypeLoader.setClassLoader(CTConnection.class.getClassLoader()); - + // Tika // OpenDocumentParser odfParser = new OpenDocumentParser(); // bc.registerService(Parser.class, odfParser, new Hashtable()); @@ -130,6 +129,16 @@ public class CmsState implements NodeState { // File System CmsFsProvider cmsFsProvider = new CmsFsProvider(); +// ServiceLoader fspSl = ServiceLoader.load(FileSystemProvider.class); +// for (FileSystemProvider fsp : fspSl) { +// log.debug("FileSystemProvider " + fsp); +// if (fsp instanceof CmsFsProvider) { +// cmsFsProvider = (CmsFsProvider) fsp; +// } +// } +// for (FileSystemProvider fsp : FileSystemProvider.installedProviders()) { +// log.debug("Installed FileSystemProvider " + fsp); +// } bc.registerService(FileSystemProvider.class, cmsFsProvider, LangUtils.dico(Constants.SERVICE_PID, NodeConstants.NODE_FS_PROVIDER_PID)); }