public static IGremlinQueryExecutionPipeline UseWebSocketExecutor( this IGremlinQueryExecutionPipeline pipeline, string hostname, int port = 8182, bool enableSsl = false, string username = null, string password = null, GraphsonVersion graphsonVersion = GraphsonVersion.V2, IReadOnlyDictionary <Type, IGraphSONSerializer> additionalGraphsonSerializers = null, IReadOnlyDictionary <string, IGraphSONDeserializer> additionalGraphsonDeserializers = null, ILogger logger = null) { var actualAdditionalGraphsonSerializers = additionalGraphsonSerializers ?? ImmutableDictionary <Type, IGraphSONSerializer> .Empty; var actualAdditionalGraphsonDeserializers = additionalGraphsonDeserializers ?? ImmutableDictionary <string, IGraphSONDeserializer> .Empty; return(pipeline .UseWebSocketExecutor( () => new GremlinClient( new GremlinServer(hostname, port, enableSsl, username, password), graphsonVersion == GraphsonVersion.V2 ? new GraphSON2Reader(actualAdditionalGraphsonDeserializers) : (GraphSONReader) new GraphSON3Reader(actualAdditionalGraphsonDeserializers), graphsonVersion == GraphsonVersion.V2 ? new GraphSON2Writer(actualAdditionalGraphsonSerializers) : (GraphSONWriter) new GraphSON3Writer(actualAdditionalGraphsonSerializers), graphsonVersion == GraphsonVersion.V2 ? GremlinClient.GraphSON2MimeType : GremlinClient.DefaultMimeType), logger)); }
public static IGremlinQueryExecutionPipeline UseWebSocketExecutor( this IGremlinQueryExecutionPipeline pipeline, Uri uri, string?username = null, string?password = null, string alias = "g", GraphsonVersion graphsonVersion = GraphsonVersion.V2, IReadOnlyDictionary <Type, IGraphSONSerializer>?additionalGraphsonSerializers = null, IReadOnlyDictionary <string, IGraphSONDeserializer>?additionalGraphsonDeserializers = null, ILogger?logger = null) { var actualAdditionalGraphsonSerializers = additionalGraphsonSerializers ?? ImmutableDictionary <Type, IGraphSONSerializer> .Empty; var actualAdditionalGraphsonDeserializers = additionalGraphsonDeserializers ?? ImmutableDictionary <string, IGraphSONDeserializer> .Empty; if (!"ws".Equals(uri.Scheme, StringComparison.OrdinalIgnoreCase) && !"wss".Equals(uri.Scheme, StringComparison.OrdinalIgnoreCase)) { throw new ArgumentException(); } return(pipeline .UseWebSocketExecutor( () => new GremlinClient( new GremlinServer((uri.Host + uri.AbsolutePath).TrimEnd('/'), uri.Port, "wss".Equals(uri.Scheme, StringComparison.OrdinalIgnoreCase), username, password), graphsonVersion == GraphsonVersion.V2 ? new GraphSON2Reader(actualAdditionalGraphsonDeserializers) : (GraphSONReader) new GraphSON3Reader(actualAdditionalGraphsonDeserializers), graphsonVersion == GraphsonVersion.V2 ? new GraphSON2Writer(actualAdditionalGraphsonSerializers) : (GraphSONWriter) new GraphSON3Writer(actualAdditionalGraphsonSerializers), graphsonVersion == GraphsonVersion.V2 ? GremlinClient.GraphSON2MimeType : GremlinClient.DefaultMimeType), alias, logger)); }
public static IGremlinQueryExecutionPipeline UseCosmosDbSerializer(this IGremlinQueryExecutionPipeline pipeline) { return(pipeline .ConfigureSerializer(serializer => serializer .UseCosmosDbWorkarounds() .ToGroovy())); }
public GremlinQueryEnvironmentImpl(IGraphModel model, IGremlinQueryExecutionPipeline pipeline, IImmutableDictionary <GremlinqOption, object> options, ILogger logger) { Model = model; Pipeline = pipeline; Options = options; Logger = logger; }
public static IGremlinQueryExecutionPipeline UseCosmosDbSerializer(this IGremlinQueryExecutionPipeline pipeline) { return(pipeline .UseSerializer(builder => builder .UseDefaultGremlinStepSerializationHandlers() .UseGroovy() .UseCosmosDbWorkarounds() .Build())); }
public ConfigurableGremlinQuerySourceImpl(string name, IGraphModel model, GremlinqOptions gremlinqOptions, bool isUserSetModel, IGremlinQueryExecutionPipeline pipeline, ImmutableList <IGremlinQueryStrategy> includedStrategies, ImmutableList <string> excludedStrategies, ILogger logger) { Name = name; Model = model; Logger = logger; Options = gremlinqOptions; Pipeline = pipeline; _isUserSetModel = isUserSetModel; IncludedStrategies = includedStrategies; ExcludedStrategyNames = excludedStrategies; }
public static IGremlinQueryExecutionPipeline UseCosmosDbExecutor(this IGremlinQueryExecutionPipeline pipeline, Uri uri, string database, string graphName, string authKey, ILogger logger) { return(pipeline .UseWebSocketExecutor( uri, $"/dbs/{database}/colls/{graphName}", authKey, "g", GraphsonVersion.V2, new Dictionary <Type, IGraphSONSerializer> { { typeof(TimeSpan), new TimeSpanSerializer() } },
private static IGremlinQueryExecutionPipeline UseCosmosDbExecutor(this IGremlinQueryExecutionPipeline builder, string hostname, int port, bool enableSsl, string database, string graphName, string authKey, ILogger logger) { return(builder .UseWebSocketExecutor( hostname, port, enableSsl, $"/dbs/{database}/colls/{graphName}", authKey, GraphsonVersion.V2, new Dictionary <Type, IGraphSONSerializer> { { typeof(TimeSpan), new TimeSpanSerializer() } },
public static IGremlinQueryExecutionPipeline UseCosmosDbEmulatorExecutor(this IGremlinQueryExecutionPipeline builder, string hostname, string database, string graphName, string authKey, ILogger logger, int port = 8901) { return(builder.UseCosmosDbExecutor(hostname, port, false, database, graphName, authKey, logger)); }
public static IGremlinQueryExecutionPipeline UseCosmosDbDeserializer(this IGremlinQueryExecutionPipeline pipeline) { return(pipeline .UseDeserializer(GremlinQueryExecutionResultDeserializer.GraphsonWithJsonConverters(new TimespanConverter()))); }
public static IGremlinQueryExecutionPipeline UseExecutor(this IGremlinQueryExecutionPipeline pipeline, IGremlinQueryExecutor executor) { return(pipeline.ConfigureExecutor(_ => executor)); }
public static IGremlinQueryExecutionPipeline UseDeserializer(this IGremlinQueryExecutionPipeline pipeline, IGremlinQueryExecutionResultDeserializer deserializer) { return(pipeline.ConfigureDeserializer(_ => deserializer)); }
public static IGremlinQueryExecutionPipeline UseSerializer(this IGremlinQueryExecutionPipeline pipeline, IGremlinQuerySerializer serializer) { return(pipeline.ConfigureSerializer(_ => serializer)); }
public static IGremlinQueryExecutionPipeline UseWebSocketExecutor(this IGremlinQueryExecutionPipeline pipeline, Func <IGremlinClient> clientFactory, ILogger logger = null) { return(pipeline .UseExecutor(new WebSocketGremlinQueryExecutor(clientFactory, logger))); }
public static IGremlinQueryExecutionPipeline UseSerializer(this IGremlinQueryExecutionPipeline pipeline, Func <IGremlinQuerySerializerBuilder, IGremlinQuerySerializer> builder) { return(pipeline.ConfigureSerializer(_ => builder(GremlinQuerySerializerBuilder.Invalid))); }
public static IGremlinQueryEnvironment UseExecutionPipeline(this IGremlinQueryEnvironment source, IGremlinQueryExecutionPipeline pipeline) { return(source.ConfigureExecutionPipeline(_ => pipeline)); }