From ebfd5bdbcf4b16569778493644ad29ca9b12c623 Mon Sep 17 00:00:00 2001 From: Nghia Tran Date: Wed, 4 Nov 2015 17:50:40 -0800 Subject: [PATCH] TINKERPOP3-931 modified the scopes of OpProcessor increases scope of various OpProcessor implementation to make them more extensible. Added javadoc. --- .../gremlin/server/op/AbstractEvalOpProcessor.java | 2 +- .../gremlin/server/op/session/SessionOpProcessor.java | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java index cd502e3c379..9c5c9c9b1ae 100644 --- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java +++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java @@ -59,7 +59,7 @@ */ public abstract class AbstractEvalOpProcessor implements OpProcessor { private static final Logger logger = LoggerFactory.getLogger(AbstractEvalOpProcessor.class); - private static final Timer evalOpTimer = MetricManager.INSTANCE.getTimer(name(GremlinServer.class, "op", "eval")); + public static final Timer evalOpTimer = MetricManager.INSTANCE.getTimer(name(GremlinServer.class, "op", "eval")); /** * This may or may not be the full set of invalid binding keys. It is dependent on the static imports made to diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/SessionOpProcessor.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/SessionOpProcessor.java index 8a31fe9531b..8441464a9da 100644 --- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/SessionOpProcessor.java +++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/session/SessionOpProcessor.java @@ -56,7 +56,7 @@ public class SessionOpProcessor extends AbstractEvalOpProcessor { /** * Script engines are evaluated in a per session context where imports/scripts are isolated per session. */ - private static ConcurrentHashMap sessions = new ConcurrentHashMap<>(); + protected static ConcurrentHashMap sessions = new ConcurrentHashMap<>(); static { MetricManager.INSTANCE.getGuage(sessions::size, name(GremlinServer.class, "sessions")); @@ -159,8 +159,11 @@ protected void evalOp(final Context context) throws OpProcessorException { }); } - - private static Session getSession(final Context context, final RequestMessage msg) { + /** + * Examines the {@link RequestMessage} and extracts the session token. The session is then either found or a new + * one is created. + */ + protected static Session getSession(final Context context, final RequestMessage msg) { final String sessionId = (String) msg.getArgs().get(Tokens.ARGS_SESSION); logger.debug("In-session request {} for eval for session {} in thread {}",