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