Work on CMS FS provider
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 3 Dec 2018 10:22:42 +0000 (11:22 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 3 Dec 2018 10:22:42 +0000 (11:22 +0100)
org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsFsProvider.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java

index 614ff6c497ebda2ce6dd0554c4dd11f8cd64ad71..32f7427714a568e89e08a55b3011851cfae38534 100644 (file)
@@ -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<String, JcrFileSystem> 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<String, ?> env) throws IOException {
+               BundleContext bc = FrameworkUtil.getBundle(CmsFsProvider.class).getBundleContext();
                String username = CurrentUser.getUsername();
                if (username == null) {
                        // TODO deal with anonymous
index e3d48a6f4392e613cf466af0aae76fe0c1da5977..789312625c54219f66d24af46281dfeb1740e36d 100644 (file)
@@ -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<FileSystemProvider> 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));
        }