Repository: incubator-zeppelin
Updated Branches:
  refs/heads/master e45cf3995 -> fd2a28853


ZEPPELIN-365: Add credentials for dependency loader

Allow to authenticate to Artifactory or any other private maven repository 
using user/pass via the dependency loader

Author: Patrick Ethier <[email protected]>
Author: Patrick Ethier <[email protected]>
Author: nuttybrewer <[email protected]>

Closes #377 from nuttybrewer/master and squashes the following commits:

9745f24 [Patrick Ethier] Update Repository.java
8599240 [Patrick Ethier] Update Repository.java
70de3ec [Patrick Ethier] Update Repository.java
3e395bf [Patrick Ethier] Move to fluent API
6c858e8 [Patrick Ethier] Merge branch 'master' of 
github.com:apache/incubator-zeppelin
3dcfc1f [Patrick Ethier] Update Repository.java
361291a [Patrick Ethier] Update Repository.java
656266a [Patrick Ethier] Update Repository.java
1169f80 [Patrick Ethier] Update spark.md
5b8f357 [Patrick Ethier] Update Repository.java
10c342b [Patrick Ethier] Update DependencyContext.java
57ab930 [Patrick Ethier] Update Repository.java
2b98165 [Patrick Ethier] Update DependencyContext.java
b93057d [nuttybrewer] remove return statement for coding style
0c9395c [Patrick Ethier] Merge branch 'master' of 
github.com:nuttybrewer/incubator-zeppelin
e7ece92 [Patrick Ethier] Added addCredential() function to allow for 
authenticated repositories via dependency loader
0936e89 [Patrick Ethier] Added documentation for new addCredential() function


Project: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/commit/fd2a2885
Tree: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/tree/fd2a2885
Diff: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/diff/fd2a2885

Branch: refs/heads/master
Commit: fd2a28853ec83da975fdffba6f2a5ca198126d4d
Parents: e45cf39
Author: Patrick Ethier <[email protected]>
Authored: Wed Nov 4 20:15:33 2015 +0100
Committer: Lee moon soo <[email protected]>
Committed: Sun Nov 8 09:25:15 2015 +0900

----------------------------------------------------------------------
 docs/docs/interpreter/spark.md                  |  3 +++
 .../zeppelin/spark/dep/DependencyContext.java   |  7 +++++
 .../apache/zeppelin/spark/dep/Repository.java   | 28 +++++++++++++++++++-
 3 files changed, 37 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/fd2a2885/docs/docs/interpreter/spark.md
----------------------------------------------------------------------
diff --git a/docs/docs/interpreter/spark.md b/docs/docs/interpreter/spark.md
index 871231c..06aee94 100644
--- a/docs/docs/interpreter/spark.md
+++ b/docs/docs/interpreter/spark.md
@@ -77,6 +77,9 @@ z.addRepo("RepoName").url("RepoURL")
 // add maven snapshot repository
 z.addRepo("RepoName").url("RepoURL").snapshot()
 
+// add credentials for private maven repository
+z.addRepo("RepoName").url("RepoURL).username("username").password("password")
+
 // add artifact from filesystem
 z.load("/path/to.jar")
 

http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/fd2a2885/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java
----------------------------------------------------------------------
diff --git 
a/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java 
b/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java
index 0f465f1..834e518 100644
--- a/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java
+++ b/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java
@@ -21,6 +21,8 @@ import java.io.File;
 import java.net.MalformedURLException;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
 
 import org.sonatype.aether.RepositorySystem;
 import org.sonatype.aether.RepositorySystemSession;
@@ -28,6 +30,7 @@ import org.sonatype.aether.artifact.Artifact;
 import org.sonatype.aether.collection.CollectRequest;
 import org.sonatype.aether.graph.DependencyFilter;
 import org.sonatype.aether.repository.RemoteRepository;
+import org.sonatype.aether.repository.Authentication;
 import org.sonatype.aether.resolution.ArtifactResolutionException;
 import org.sonatype.aether.resolution.ArtifactResult;
 import org.sonatype.aether.resolution.DependencyRequest;
@@ -153,6 +156,10 @@ public class DependencyContext {
     for (Repository repo : repositories) {
       RemoteRepository rr = new RemoteRepository(repo.getName(), "default", 
repo.getUrl());
       rr.setPolicy(repo.isSnapshot(), null);
+      Authentication auth = repo.getAuthentication();
+      if (auth != null) {
+        rr.setAuthentication(auth);
+      }
       collectRequest.addRepository(rr);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/fd2a2885/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java
----------------------------------------------------------------------
diff --git a/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java 
b/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java
index 49c6c9b..aee56b5 100644
--- a/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java
+++ b/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java
@@ -16,7 +16,7 @@
  */
 
 package org.apache.zeppelin.spark.dep;
-
+import org.sonatype.aether.repository.Authentication;
 /**
  *
  *
@@ -25,6 +25,8 @@ public class Repository {
   private boolean snapshot = false;
   private String name;
   private String url;
+  private String username = null;
+  private String password = null;
 
   public Repository(String name){
     this.name = name;
@@ -51,4 +53,28 @@ public class Repository {
   public String getUrl() {
     return url;
   }
+  
+  public Repository username(String username) {
+    this.username = username;
+    return this;
+  }
+  
+  public Repository password(String password) {
+    this.password = password;
+    return this;
+  }
+  
+  public Repository credentials(String username, String password) {
+    this.username = username;
+    this.password = password;
+    return this;
+  }
+  
+  protected Authentication getAuthentication() {
+    Authentication auth = null;
+    if (this.username != null && this.password != null) {
+      auth = new Authentication(this.username, this.password);
+    }
+    return auth;
+  }
 }

Reply via email to