From f65811e6912330a8d1e2ab330114f22d2bae43ed Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 5 Feb 2021 20:44:34 +0100 Subject: [PATCH] Make remote default workspace configurable via System properties. --- .../org/argeo/jackrabbit/fs/DavexFsProvider.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/org.argeo.core/src/org/argeo/jackrabbit/fs/DavexFsProvider.java b/org.argeo.core/src/org/argeo/jackrabbit/fs/DavexFsProvider.java index 9591312b0..1cae6e493 100644 --- a/org.argeo.core/src/org/argeo/jackrabbit/fs/DavexFsProvider.java +++ b/org.argeo.core/src/org/argeo/jackrabbit/fs/DavexFsProvider.java @@ -24,8 +24,7 @@ import org.argeo.jcr.fs.JcrFsException; * DAVEX protocol. */ public class DavexFsProvider extends AbstractJackrabbitFsProvider { -// final static String JACKRABBIT_REPOSITORY_URI = "org.apache.jackrabbit.repository.uri"; -// final static String JACKRABBIT_REMOTE_DEFAULT_WORKSPACE = "org.apache.jackrabbit.spi2davex.WorkspaceNameDefault"; + final static String DEFAULT_JACKRABBIT_REMOTE_DEFAULT_WORKSPACE = "sys"; private Map fileSystems = new HashMap<>(); @@ -54,8 +53,12 @@ public class DavexFsProvider extends AbstractJackrabbitFsProvider { throws IOException { Map params = new HashMap(); params.put(ClientDavexRepositoryFactory.JACKRABBIT_DAVEX_URI, repoUri.toString()); - // FIXME make it configurable - params.put(ClientDavexRepositoryFactory.JACKRABBIT_REMOTE_DEFAULT_WORKSPACE, "sys"); + // TODO better integrate with OSGi or other configuration than system + // properties. + String remoteDefaultWorkspace = System.getProperty( + ClientDavexRepositoryFactory.JACKRABBIT_REMOTE_DEFAULT_WORKSPACE, + DEFAULT_JACKRABBIT_REMOTE_DEFAULT_WORKSPACE); + params.put(ClientDavexRepositoryFactory.JACKRABBIT_REMOTE_DEFAULT_WORKSPACE, remoteDefaultWorkspace); Repository repository = null; Session session = null; try { @@ -99,8 +102,8 @@ public class DavexFsProvider extends AbstractJackrabbitFsProvider { if (fileSystem == null) try { fileSystem = (JcrFileSystem) newFileSystem(uri, new HashMap()); - if(fileSystem==null) - throw new IllegalArgumentException("No file system found for "+uri); + if (fileSystem == null) + throw new IllegalArgumentException("No file system found for " + uri); } catch (IOException e) { throw new JcrFsException("Could not autocreate file system", e); } -- 2.30.2