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;
public class CmsFsProvider extends AbstractJackrabbitFsProvider {
private Map<String, JcrFileSystem> fileSystems = new HashMap<>();
- private BundleContext bc = FrameworkUtil.getBundle(CmsFsProvider.class).getBundleContext();
@Override
public String getScheme() {
@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
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());
// 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));
}