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

chengpan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/celeborn.git


The following commit(s) were added to refs/heads/main by this push:
     new 6d2e1c8d4 [CELEBORN-1521][FOLLOWUP] Move BasicPrincipal to spi module
6d2e1c8d4 is described below

commit 6d2e1c8d4651689bb09469a47e96b65e6914d52b
Author: Wang, Fei <[email protected]>
AuthorDate: Wed Aug 7 14:42:29 2024 +0800

    [CELEBORN-1521][FOLLOWUP] Move BasicPrincipal to spi module
    
    ### What changes were proposed in this pull request?
    
    This PS is a followup of CELEBORN-1521, move the BasicPrincipal in to 
celeborn-spi module. so that customer do not need to implement it by themselves.
    ### Why are the changes needed?
    
    For authentication extension.
    
    ### Does this PR introduce _any_ user-facing change?
    No.
    
    ### How was this patch tested?
    
    Existing GA.
    
    Closes #2665 from turboFei/spi_follow.
    
    Authored-by: Wang, Fei <[email protected]>
    Signed-off-by: Cheng Pan <[email protected]>
---
 .../AnonymousAuthenticationProviderImpl.scala      |  2 +-
 ...rDefinePasswordAuthenticationProviderImpl.scala |  3 +-
 ...UserDefineTokenAuthenticationProviderImpl.scala |  3 +-
 .../spi/authentication/BasicPrincipal.java         | 45 ++++++++++++++--------
 4 files changed, 32 insertions(+), 21 deletions(-)

diff --git 
a/common/src/main/scala/org/apache/celeborn/common/authentication/AnonymousAuthenticationProviderImpl.scala
 
b/common/src/main/scala/org/apache/celeborn/common/authentication/AnonymousAuthenticationProviderImpl.scala
index 449ed22a1..26c916fc7 100644
--- 
a/common/src/main/scala/org/apache/celeborn/common/authentication/AnonymousAuthenticationProviderImpl.scala
+++ 
b/common/src/main/scala/org/apache/celeborn/common/authentication/AnonymousAuthenticationProviderImpl.scala
@@ -19,7 +19,7 @@ package org.apache.celeborn.common.authentication
 
 import java.security.Principal
 
-import org.apache.celeborn.spi.authentication.{PasswdAuthenticationProvider, 
PasswordCredential, TokenAuthenticationProvider, TokenCredential}
+import org.apache.celeborn.spi.authentication.{BasicPrincipal, 
PasswdAuthenticationProvider, PasswordCredential, TokenAuthenticationProvider, 
TokenCredential}
 
 class AnonymousAuthenticationProviderImpl extends PasswdAuthenticationProvider
   with TokenAuthenticationProvider {
diff --git 
a/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefinePasswordAuthenticationProviderImpl.scala
 
b/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefinePasswordAuthenticationProviderImpl.scala
index 872905b3a..38db5e49a 100644
--- 
a/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefinePasswordAuthenticationProviderImpl.scala
+++ 
b/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefinePasswordAuthenticationProviderImpl.scala
@@ -20,10 +20,9 @@ package org.apache.celeborn.server.common.http.authentication
 import java.security.Principal
 import javax.security.sasl.AuthenticationException
 
-import org.apache.celeborn.common.authentication.BasicPrincipal
 import org.apache.celeborn.common.internal.Logging
 import 
org.apache.celeborn.server.common.http.authentication.UserDefinePasswordAuthenticationProviderImpl.VALID_PASSWORD
-import org.apache.celeborn.spi.authentication.{Credential, 
PasswdAuthenticationProvider, PasswordCredential}
+import org.apache.celeborn.spi.authentication.{BasicPrincipal, Credential, 
PasswdAuthenticationProvider, PasswordCredential}
 
 class UserDefinePasswordAuthenticationProviderImpl
   extends PasswdAuthenticationProvider with Logging {
diff --git 
a/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefineTokenAuthenticationProviderImpl.scala
 
b/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefineTokenAuthenticationProviderImpl.scala
index c476ff029..b1edaae8f 100644
--- 
a/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefineTokenAuthenticationProviderImpl.scala
+++ 
b/service/src/test/scala/org/apache/celeborn/server/common/http/authentication/UserDefineTokenAuthenticationProviderImpl.scala
@@ -20,10 +20,9 @@ package org.apache.celeborn.server.common.http.authentication
 import java.security.Principal
 import javax.security.sasl.AuthenticationException
 
-import org.apache.celeborn.common.authentication.BasicPrincipal
 import org.apache.celeborn.common.internal.Logging
 import 
org.apache.celeborn.server.common.http.authentication.UserDefineTokenAuthenticationProviderImpl.VALID_TOKEN
-import org.apache.celeborn.spi.authentication.{Credential, 
TokenAuthenticationProvider, TokenCredential}
+import org.apache.celeborn.spi.authentication.{BasicPrincipal, Credential, 
TokenAuthenticationProvider, TokenCredential}
 
 class UserDefineTokenAuthenticationProviderImpl extends 
TokenAuthenticationProvider with Logging {
   override def authenticate(credential: TokenCredential): Principal = {
diff --git 
a/common/src/main/scala/org/apache/celeborn/common/authentication/BasicPrincipal.scala
 b/spi/src/main/java/org/apache/celeborn/spi/authentication/BasicPrincipal.java
similarity index 52%
rename from 
common/src/main/scala/org/apache/celeborn/common/authentication/BasicPrincipal.scala
rename to 
spi/src/main/java/org/apache/celeborn/spi/authentication/BasicPrincipal.java
index 750677cf2..95ff11a0e 100644
--- 
a/common/src/main/scala/org/apache/celeborn/common/authentication/BasicPrincipal.scala
+++ 
b/spi/src/main/java/org/apache/celeborn/spi/authentication/BasicPrincipal.java
@@ -15,26 +15,39 @@
  * limitations under the License.
  */
 
-package org.apache.celeborn.common.authentication
+package org.apache.celeborn.spi.authentication;
 
-import java.security.Principal
-import java.util.Objects
+import java.security.Principal;
+import java.util.Objects;
 
-class BasicPrincipal(val name: String) extends Principal {
-  Objects.requireNonNull(name, "Principal name cannot be null")
-  override def getName: String = name
+public class BasicPrincipal implements Principal {
+  private final String name;
 
-  override def toString: String = name
+  public BasicPrincipal(String name) {
+    this.name = name;
+    Objects.requireNonNull(name, "Principal name cannot be null");
+  }
+
+  @Override
+  public String getName() {
+    return name;
+  }
 
-  override def hashCode(): Int = Objects.hash(name)
+  @Override
+  public String toString() {
+    return name;
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+    BasicPrincipal that = (BasicPrincipal) o;
+    return name.equals(that.name);
+  }
 
-  override def equals(o: Any): Boolean = {
-    if (this == o) {
-      true
-    } else if (o == null || getClass != o.getClass) {
-      false
-    } else {
-      Objects.equals(name, o.asInstanceOf[BasicPrincipal].name)
-    }
+  @Override
+  public int hashCode() {
+    return Objects.hashCode(name);
   }
 }

Reply via email to