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);
}
}