public abstract class AbstractOpProcessor extends Object implements OpProcessor
OpProcessor
implementation that processes an Iterator
of results in a generalized way while
ensuring that graph transactions are properly managed.Modifier and Type | Field and Description |
---|---|
protected boolean |
manageTransactions
When set to
true , transactions are always managed otherwise they can be overridden by the request. |
Modifier | Constructor and Description |
---|---|
protected |
AbstractOpProcessor(boolean manageTransactions) |
Modifier and Type | Method and Description |
---|---|
protected static void |
attemptCommit(RequestMessage msg,
GraphManager graphManager,
boolean strict) |
protected static void |
attemptRollback(RequestMessage msg,
GraphManager graphManager,
boolean strict) |
protected Map<String,Object> |
generateMetaData(ChannelHandlerContext ctx,
RequestMessage msg,
ResponseStatusCode code,
Iterator itty)
Deprecated.
As of release 3.4.0, replaced by
generateResultMetaData(ChannelHandlerContext, RequestMessage, ResponseStatusCode, Iterator, Settings) |
protected Map<String,Object> |
generateResultMetaData(ChannelHandlerContext ctx,
RequestMessage msg,
ResponseStatusCode code,
Iterator itty,
Settings settings)
Generates response result meta-data to put on a
ResponseMessage . |
protected Map<String,Object> |
generateStatusAttributes(ChannelHandlerContext ctx,
RequestMessage msg,
ResponseStatusCode code,
Iterator itty,
Settings settings)
Generates response status meta-data to put on a
ResponseMessage . |
protected void |
handleIterator(Context context,
Iterator itty)
Provides a generic way of iterating a result set back to the client.
|
protected void |
handleIterator(ResponseHandlerContext rhc,
Iterator itty)
A variant of
handleIterator(Context, Iterator) that is suitable for use in situations when multiple
threads may produce final response messages concurrently. |
protected boolean |
isForceFlushed(ChannelHandlerContext ctx,
RequestMessage msg,
Iterator itty)
Determines if a
Frame should be force flushed outside of the resultIterationBatchSize and the
termination of the iterator. |
protected void |
iterateComplete(ChannelHandlerContext ctx,
RequestMessage msg,
Iterator itty)
Called when iteration within
handleIterator(Context, Iterator) is on its final pass and the final
frame is about to be sent back to the client. |
protected static Frame |
makeFrame(ChannelHandlerContext ctx,
RequestMessage msg,
MessageSerializer serializer,
boolean useBinary,
List<Object> aggregate,
ResponseStatusCode code,
Map<String,Object> responseMetaData,
Map<String,Object> statusAttributes)
Caution:
#makeFrame(ResponseHandlerContext, RequestMessage, MessageSerializer, boolean, List, ResponseStatusCode, Map, Map)
should be used instead of this method whenever a ResponseHandlerContext is available. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName, init, select
close
protected final boolean manageTransactions
true
, transactions are always managed otherwise they can be overridden by the request.protected void handleIterator(Context context, Iterator itty) throws InterruptedException
context
- The Gremlin Server Context
object containing settings, request message, etc.itty
- The result to iteratorInterruptedException
handleIterator(ResponseHandlerContext, Iterator)
protected void handleIterator(ResponseHandlerContext rhc, Iterator itty) throws InterruptedException
handleIterator(Context, Iterator)
that is suitable for use in situations when multiple
threads may produce final
response messages concurrently.InterruptedException
handleIterator(Context, Iterator)
protected void iterateComplete(ChannelHandlerContext ctx, RequestMessage msg, Iterator itty)
handleIterator(Context, Iterator)
is on its final pass and the final
frame is about to be sent back to the client. This method only gets called on successful iteration of the
entire result.protected boolean isForceFlushed(ChannelHandlerContext ctx, RequestMessage msg, Iterator itty)
Frame
should be force flushed outside of the resultIterationBatchSize
and the
termination of the iterator. By default this method return false
.itty
- a reference to the current Iterator
of results - it is not meant to be forwarded in
this method@Deprecated protected Map<String,Object> generateMetaData(ChannelHandlerContext ctx, RequestMessage msg, ResponseStatusCode code, Iterator itty)
generateResultMetaData(ChannelHandlerContext, RequestMessage, ResponseStatusCode, Iterator, Settings)
ResponseMessage
.itty
- a reference to the current Iterator
of results - it is not meant to be forwarded in
this methodprotected Map<String,Object> generateResultMetaData(ChannelHandlerContext ctx, RequestMessage msg, ResponseStatusCode code, Iterator itty, Settings settings)
ResponseMessage
.itty
- a reference to the current Iterator
of results - it is not meant to be forwarded in
this methodprotected Map<String,Object> generateStatusAttributes(ChannelHandlerContext ctx, RequestMessage msg, ResponseStatusCode code, Iterator itty, Settings settings)
ResponseMessage
.itty
- a reference to the current Iterator
of results - it is not meant to be forwarded in
this methodprotected static Frame makeFrame(ChannelHandlerContext ctx, RequestMessage msg, MessageSerializer serializer, boolean useBinary, List<Object> aggregate, ResponseStatusCode code, Map<String,Object> responseMetaData, Map<String,Object> statusAttributes) throws Exception
#makeFrame(ResponseHandlerContext, RequestMessage, MessageSerializer, boolean, List, ResponseStatusCode, Map, Map)
should be used instead of this method whenever a ResponseHandlerContext
is available.Exception
protected static void attemptCommit(RequestMessage msg, GraphManager graphManager, boolean strict)
protected static void attemptRollback(RequestMessage msg, GraphManager graphManager, boolean strict)
Copyright © 2013–2019 Apache Software Foundation. All rights reserved.