You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2021/12/08 13:36:50 UTC

[jackrabbit-filevault] 01/01: JCRVLT-574 pass connection options to VltContext

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch bugfix/JCRVLT-574-pass-connection-options-to-vltcontext
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git

commit d5959f7c8d1675d04f3308983affb50453cc280b
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Dec 8 14:36:36 2021 +0100

    JCRVLT-574 pass connection options to VltContext
---
 .../apache/jackrabbit/vault/cli/VaultFsApp.java    |  6 +--
 .../apache/jackrabbit/vault/vlt/VltContext.java    | 44 +++++++++++++++++++---
 2 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/VaultFsApp.java b/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/VaultFsApp.java
index afba536..ff74af8 100644
--- a/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/VaultFsApp.java
+++ b/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/VaultFsApp.java
@@ -46,7 +46,6 @@ import org.apache.jackrabbit.vault.fs.api.VaultFileSystem;
 import org.apache.jackrabbit.vault.fs.api.VaultFsConfig;
 import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
 import org.apache.jackrabbit.vault.fs.config.AbstractVaultFsConfig;
-import org.apache.jackrabbit.vault.fs.config.ConfigurationException;
 import org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter;
 import org.apache.jackrabbit.vault.fs.config.ExportRoot;
 import org.apache.jackrabbit.vault.fs.config.MetaInf;
@@ -151,11 +150,10 @@ public class VaultFsApp extends AbstractApplication {
                 confCredsProvider.setDefaultCredentials(getProperty(KEY_DEFAULT_CREDS));
             }
             File cwd = getPlatformFile("", true).getCanonicalFile();
-            return new VltContext(cwd, localFile, repProvider, credentialsStore);
+            ConnectionOptions options = ConnectionOptions.fromServiceFactoryParameters(getEnv());
+            return new VltContext(cwd, localFile, repProvider, credentialsStore, System.out, options);
         } catch (IOException e) {
             throw new ExecutionException(e);
-        } catch (ConfigurationException e) {
-            throw new ExecutionException(e);
         }
     }
 
diff --git a/vault-vlt/src/main/java/org/apache/jackrabbit/vault/vlt/VltContext.java b/vault-vlt/src/main/java/org/apache/jackrabbit/vault/vlt/VltContext.java
index f66308c..19fad8d 100644
--- a/vault-vlt/src/main/java/org/apache/jackrabbit/vault/vlt/VltContext.java
+++ b/vault-vlt/src/main/java/org/apache/jackrabbit/vault/vlt/VltContext.java
@@ -29,6 +29,7 @@ import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
+import org.apache.jackrabbit.spi2dav.ConnectionOptions;
 import org.apache.jackrabbit.vault.fs.Mounter;
 import org.apache.jackrabbit.vault.fs.api.ImportMode;
 import org.apache.jackrabbit.vault.fs.api.PathFilter;
@@ -66,8 +67,10 @@ public class VltContext {
 
     private final ExportRoot exportRoot;
 
+    private final ConnectionOptions connectionOptions;
+
     private Map<RepositoryAddress, VaultFileSystem> fileSystems
-            = new HashMap<RepositoryAddress, VaultFileSystem>();
+            = new HashMap<>();
 
     private RepositoryAddress mountpoint;
 
@@ -87,18 +90,46 @@ public class VltContext {
 
     private PathFilter globalIgnored;
 
+    /**
+     * 
+     * @param cwd
+     * @param localFile
+     * @param repProvider
+     * @param credsProvider
+     * @throws IOException
+     * @deprecate Rather use {@link #VltContext(File, File, RepositoryProvider, CredentialsStore, PrintStream, ConnectionOptions)}
+     */
+    @Deprecated
     public VltContext(File cwd, File localFile,
             RepositoryProvider repProvider,
             CredentialsStore credsProvider)
-                    throws ConfigurationException, IOException {
-        this(cwd, localFile, repProvider, credsProvider, System.out);
+                    throws IOException {
+        this(cwd, localFile, repProvider, credsProvider, System.out, null);
+    }
+
+    /**
+     * 
+     * @param cwd
+     * @param localFile
+     * @param repProvider
+     * @param credsProvider
+     * @param out
+     * @throws IOException
+     * @deprecate Rather use {@link #VltContext(File, File, RepositoryProvider, CredentialsStore, PrintStream, ConnectionOptions)}
+     */
+    @Deprecated
+    public VltContext(File cwd, File localFile,
+            RepositoryProvider repProvider,
+            CredentialsStore credsProvider,
+            PrintStream out) throws IOException {
+        this(cwd, localFile, repProvider, credsProvider, out, null);
     }
 
     public VltContext(File cwd, File localFile,
                         RepositoryProvider repProvider,
                         CredentialsStore credsProvider,
-                        PrintStream out)
-            throws ConfigurationException, IOException {
+                        PrintStream out, ConnectionOptions connectionOptions)
+            throws IOException {
         if (!cwd.exists()) {
             throw new FileNotFoundException(cwd.getAbsolutePath());
         }
@@ -114,6 +145,7 @@ public class VltContext {
             er = new ExportRoot(localFile);
         }
         this.exportRoot = er;
+        this.connectionOptions = connectionOptions;
     }
 
     public RepositoryAddress getMountpoint() throws VltException {
@@ -197,7 +229,7 @@ public class VltContext {
     }
 
     public Session login(RepositoryAddress mountpoint) throws RepositoryException {
-        Repository rep = repProvider.getRepository(mountpoint);
+        Repository rep = repProvider.getRepository(mountpoint, connectionOptions);
         Credentials creds = credsProvider.getCredentials(mountpoint);
         Session s = rep.login(creds);
         // hack to store credentials