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

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/master by this push:
     new b3adfafa95 TINKERPOP-2981 Removed deprecated code around 
AbstractAuthenticationHandler CTR
b3adfafa95 is described below

commit b3adfafa955c5d0f542eeac0584375eeaa7d70af
Author: Stephen Mallette <stepm...@amazon.com>
AuthorDate: Mon Dec 4 12:18:43 2023 -0500

    TINKERPOP-2981 Removed deprecated code around AbstractAuthenticationHandler 
CTR
---
 CHANGELOG.asciidoc                                 |  5 ++++-
 docs/src/upgrade/release-4.x.x.asciidoc            |  7 ++++++
 .../gremlin/server/AbstractChannelizer.java        | 26 ++++------------------
 .../gremlin/server/channel/HttpChannelizer.java    |  2 +-
 .../server/channel/WebSocketChannelizer.java       |  2 +-
 .../handler/AbstractAuthenticationHandler.java     |  8 -------
 .../handler/HttpBasicAuthenticationHandler.java    |  9 --------
 .../SaslAndHttpBasicAuthenticationHandler.java     | 10 +--------
 .../server/handler/SaslAuthenticationHandler.java  |  8 -------
 9 files changed, 18 insertions(+), 59 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 368353a533..c59d1039e6 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -24,7 +24,10 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 === TinkerPop 4.0.0 (NOT OFFICIALLY RELEASED YET)
 
 * Added support for deserialization of `Set` for `gremlin-javascript`.
-* Added integer overflow checks.
+* Added integer overflow checks for `sum()`.
+* Gremlin Server only supports instantiation of 
`authentication.authenticationHandler` with three-arg constructor.
+* Removed previously deprecated two-arg constructors for 
`authentication.authenticationHandler` implementations.
+* Removed previously deprecated one-arg constructor for 
`AbstractAuthenticationHandler`.
 * Deprecated `withEmbedded()` and `withRemote()` options on 
`AnonymousTraversalSource`.
 * Added `with()` on `AnonymousTraversalSource` to cover both embedded and 
remote creation options.
 * Removed the deprecated `withGraph()` option from `AnonymousTraversalSource`.
diff --git a/docs/src/upgrade/release-4.x.x.asciidoc 
b/docs/src/upgrade/release-4.x.x.asciidoc
index c3bd27412a..ddaf969d05 100644
--- a/docs/src/upgrade/release-4.x.x.asciidoc
+++ b/docs/src/upgrade/release-4.x.x.asciidoc
@@ -84,4 +84,11 @@ skipped with incorrect result.
 
 ==== Graph System Providers
 
+===== AbstractAuthenticatorHandler Constructor
+
+The deprecated one-arg constructor for `AbstractAuthenticationHandler` has 
been removed along with two-arg constructors
+for the implementations. Gremlin Server formerly supported the two-arg 
`Authenticator`, and `Settings` constructor for
+instantiating new custom instances. It now expects implementations of 
`AbstractAuthenticationHandler` to use a
+three-arg constructor that takes `Authenticator`, `Authorizer`, and `Settings`.
+
 ==== Graph Driver Providers
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
index c086ffae24..e487464fe7 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
@@ -185,28 +185,10 @@ public abstract class AbstractChannelizer extends 
ChannelInitializer<SocketChann
         try {
             final Class<?> clazz = 
Class.forName(settings.authentication.authenticationHandler);
             AbstractAuthenticationHandler aah;
-            try {
-                // the three arg constructor is the new form as a handler may 
need the authorizer in some cases
-                final Class<?>[] threeArgForm = new 
Class[]{Authenticator.class, Authorizer.class, Settings.class};
-                final Constructor<?> twoArgConstructor = 
clazz.getDeclaredConstructor(threeArgForm);
-                return (AbstractAuthenticationHandler) 
twoArgConstructor.newInstance(authenticator, authorizer, settings);
-            } catch (Exception threeArgEx) {
-                try {
-                    // the two arg constructor is the "old form" that existed 
prior to Authorizers. should probably
-                    // deprecate this form
-                    final Class<?>[] twoArgForm = new 
Class[]{Authenticator.class, Settings.class};
-                    final Constructor<?> twoArgConstructor = 
clazz.getDeclaredConstructor(twoArgForm);
-
-                    if (authorizer != null) {
-                        logger.warn("There is an authorizer configured but the 
{} does not have a constructor of ({}, {}, {}) so it cannot be added",
-                                clazz.getName(), 
Authenticator.class.getSimpleName(), Authorizer.class.getSimpleName(), 
Settings.class.getSimpleName());
-                    }
-
-                    return (AbstractAuthenticationHandler) 
twoArgConstructor.newInstance(authenticator, settings);
-                } catch (Exception twoArgEx) {
-                    throw twoArgEx;
-                }
-            }
+            // the three arg constructor is the new form as a handler may need 
the authorizer in some cases
+            final Class<?>[] threeArgForm = new Class[]{Authenticator.class, 
Authorizer.class, Settings.class};
+            final Constructor<?> threeArgConstructor = 
clazz.getDeclaredConstructor(threeArgForm);
+            return (AbstractAuthenticationHandler) 
threeArgConstructor.newInstance(authenticator, authorizer, settings);
         } catch (Exception ex) {
             logger.warn(ex.getMessage());
             throw new IllegalStateException(String.format("Could not 
create/configure AuthenticationHandler %s", 
settings.authentication.authenticationHandler), ex);
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
index 6d3bdbf2ff..0a9842ba9d 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
@@ -92,7 +92,7 @@ public class HttpChannelizer extends AbstractChannelizer {
         final String authHandlerClass = 
settings.authentication.authenticationHandler;
         if (authHandlerClass == null) {
             //Keep things backwards compatible
-            return new HttpBasicAuthenticationHandler(authenticator, settings);
+            return new HttpBasicAuthenticationHandler(authenticator, 
authorizer, settings);
         } else {
             return createAuthenticationHandler(settings);
         }
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
index b8baed1b53..beec5cbd99 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
@@ -143,7 +143,7 @@ public class WebSocketChannelizer extends 
AbstractChannelizer {
         final String authenticationHandler = 
settings.authentication.authenticationHandler;
         if (authenticationHandler == null) {
             //Keep things backwards compatible
-            return new SaslAuthenticationHandler(authenticator, settings);
+            return new SaslAuthenticationHandler(authenticator, authorizer, 
settings);
         } else {
             return createAuthenticationHandler(settings);
         }
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/AbstractAuthenticationHandler.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/AbstractAuthenticationHandler.java
index 074e4ab873..7fa37953ed 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/AbstractAuthenticationHandler.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/AbstractAuthenticationHandler.java
@@ -30,14 +30,6 @@ public abstract class AbstractAuthenticationHandler extends 
ChannelInboundHandle
     protected final Authenticator authenticator;
     protected final Authorizer authorizer;
 
-    /**
-     * @deprecated As of release 3.5.0, replaced by {@link 
#AbstractAuthenticationHandler(Authenticator, Authorizer)}.
-     */
-    @Deprecated
-    public AbstractAuthenticationHandler(final Authenticator authenticator) {
-        this(authenticator, null);
-    }
-
     public AbstractAuthenticationHandler(final Authenticator authenticator, 
final Authorizer authorizer) {
         this.authenticator = authenticator;
         this.authorizer = authorizer;
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
index 41fd3a42ee..55d4ee17ff 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
@@ -49,20 +49,11 @@ import static 
org.apache.tinkerpop.gremlin.groovy.jsr223.dsl.credential.Credenti
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 public class HttpBasicAuthenticationHandler extends 
AbstractAuthenticationHandler {
-    private static final Logger logger = 
LoggerFactory.getLogger(HttpBasicAuthenticationHandler.class);
     private static final Logger auditLogger = 
LoggerFactory.getLogger(GremlinServer.AUDIT_LOGGER_NAME);
     private final Settings settings;
 
     private final Base64.Decoder decoder = Base64.getUrlDecoder();
 
-    /**
-     * @deprecated As of release 3.5.0, replaced by {@link 
#HttpBasicAuthenticationHandler(Authenticator, Authorizer, Settings)}.
-     */
-    @Deprecated
-    public HttpBasicAuthenticationHandler(final Authenticator authenticator, 
final Settings settings) {
-        this(authenticator, null, settings);
-    }
-
     public HttpBasicAuthenticationHandler(final Authenticator authenticator, 
final Authorizer authorizer, final Settings settings) {
         super(authenticator, authorizer);
         this.settings = settings;
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAndHttpBasicAuthenticationHandler.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAndHttpBasicAuthenticationHandler.java
index 31dabd0046..d529a02461 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAndHttpBasicAuthenticationHandler.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAndHttpBasicAuthenticationHandler.java
@@ -39,14 +39,6 @@ public class SaslAndHttpBasicAuthenticationHandler extends 
SaslAuthenticationHan
 
     private final String HTTP_AUTH = "http-authentication";
 
-    /**
-     * @deprecated As of release 3.5.0, replaced by {@link 
#SaslAndHttpBasicAuthenticationHandler(Authenticator, Authorizer, Settings)}.
-     */
-    @Deprecated
-    public SaslAndHttpBasicAuthenticationHandler(final Authenticator 
authenticator, final Settings settings) {
-        this(authenticator, null, settings);
-    }
-
     public SaslAndHttpBasicAuthenticationHandler(final Authenticator 
authenticator, final Authorizer authorizer, final Settings settings) {
         super(authenticator, authorizer, settings);
     }
@@ -58,7 +50,7 @@ public class SaslAndHttpBasicAuthenticationHandler extends 
SaslAuthenticationHan
             if (null != pipeline.get(HTTP_AUTH)) {
                 pipeline.remove(HTTP_AUTH);
             }
-            pipeline.addAfter(PIPELINE_AUTHENTICATOR, HTTP_AUTH, new 
HttpBasicAuthenticationHandler(authenticator, this.settings));
+            pipeline.addAfter(PIPELINE_AUTHENTICATOR, HTTP_AUTH, new 
HttpBasicAuthenticationHandler(authenticator, authorizer, this.settings));
 
             if (authorizer != null) {
                 final ChannelInboundHandlerAdapter authorizationHandler = new 
HttpBasicAuthorizationHandler(authorizer);
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAuthenticationHandler.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAuthenticationHandler.java
index 07faaa6f51..b9870ead46 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAuthenticationHandler.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/SaslAuthenticationHandler.java
@@ -60,14 +60,6 @@ public class SaslAuthenticationHandler extends 
AbstractAuthenticationHandler {
 
     protected final Settings settings;
 
-    /**
-     * @deprecated As of release 3.5.0, replaced by {@link 
#SaslAuthenticationHandler(Authenticator, Authorizer, Settings)}.
-     */
-    @Deprecated
-    public SaslAuthenticationHandler(final Authenticator authenticator, final 
Settings settings) {
-        this(authenticator, null, settings);
-    }
-
     public SaslAuthenticationHandler(final Authenticator authenticator, final 
Authorizer authorizer, final Settings settings) {
         super(authenticator, authorizer);
         this.settings = settings;

Reply via email to