aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java
diff options
context:
space:
mode:
authorzeapo <mohamed@zenadi.com>2014-12-17 22:55:45 +0100
committerzeapo <mohamed@zenadi.com>2015-01-04 14:53:58 +0100
commitf48bd5faa01c191f355fd5ebdc2e98f0579b591f (patch)
tree127b417d7bd8d990370a222701b8194aba6ad427 /app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java
parent33689cefc7a429e4f51607a013f6adc9c01ede94 (diff)
downloadHardenedPass-f48bd5faa01c191f355fd5ebdc2e98f0579b591f.tar.gz
HardenedPass-f48bd5faa01c191f355fd5ebdc2e98f0579b591f.zip
git tasks refactoring (clone working)
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java b/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java
new file mode 100644
index 00000000..0445b114
--- /dev/null
+++ b/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java
@@ -0,0 +1,54 @@
+package com.zeapo.pwdstore.git;
+
+import android.app.Activity;
+
+import org.eclipse.jgit.api.CloneCommand;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
+
+import java.io.File;
+
+public class CloneOperation extends GitOperation {
+ private static final String TAG = "CLONEOPT";
+
+ /**
+ * Creates a new clone operation
+ * @param fileDir the git working tree directory
+ * @param callingActivity the calling activity
+ */
+ public CloneOperation(File fileDir, Activity callingActivity) {
+ super(fileDir, callingActivity);
+ }
+
+ /**
+ * Sets the command using the repository uri
+ * @param uri the uri of the repository
+ * @return the current object
+ */
+ public CloneOperation setCommand(String uri) {
+ this.command = Git.cloneRepository().
+ setCredentialsProvider(provider).
+ setCloneAllBranches(true).
+ setDirectory(repository.getWorkTree()).
+ setURI(uri);
+ return this;
+ }
+
+ /**
+ * sets the authentication for user/pwd scheme
+ * @param username the username
+ * @param password the password
+ * @return the current object
+ */
+ @Override
+ public CloneOperation setAuthentication(String username, String password) {
+ super.setAuthentication(username, password);
+ return this;
+ }
+
+ @Override
+ public CloneOperation setAuthentication(File sshKey, String username, String passphrase) {
+ super.setAuthentication(sshKey, username, passphrase);
+ return this;
+ }
+}