public byte[] Promote(ITransactionExecutionEnvironment transactionExecutionEnvironment)
        {
            var promotedTx = new CommittableTransaction();
            var neo4jTransactionHandler = new Neo4jTransationSinglePhaseNotification(transactionExecutionEnvironment);
            var token = TransactionInterop.GetTransmitterPropagationToken(promotedTx);
            _transactions[transactionExecutionEnvironment.TransactionId] = promotedTx;
            neo4jTransactionHandler.Enlist(promotedTx);

            return token;
        }
Exemplo n.º 2
0
        public byte[] Promote(ITransactionExecutionEnvironment transactionExecutionEnvironment)
        {
            var promotedTx = new CommittableTransaction();
            var neo4jTransactionHandler = new Neo4jTransationSinglePhaseNotification(transactionExecutionEnvironment);
            var token = TransactionInterop.GetTransmitterPropagationToken(promotedTx);

            transactions[transactionExecutionEnvironment.TransactionId] = promotedTx;
            neo4jTransactionHandler.Enlist(promotedTx);

            return(token);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Keeps alive a transaction given the ID
        /// </summary>
        /// <param name="transactionExecutionEnvironment">The transaction execution environment</param>
        internal static void DoKeepAlive(ITransactionExecutionEnvironment transactionExecutionEnvironment)
        {
            var keepAliveUri = transactionExecutionEnvironment.TransactionBaseEndpoint.AddPath(
                transactionExecutionEnvironment.TransactionId.ToString());

            DoKeepAlive(
                keepAliveUri,
                new ExecutionConfiguration
            {
                HttpClient       = new HttpClientWrapper(transactionExecutionEnvironment.Username, transactionExecutionEnvironment.Password),
                JsonConverters   = GraphClient.DefaultJsonConverters,
                UseJsonStreaming = transactionExecutionEnvironment.UseJsonStreaming,
                UserAgent        = transactionExecutionEnvironment.UserAgent
            },
                new CustomJsonSerializer());
        }
Exemplo n.º 4
0
        /// <summary>
        /// Commits a transaction given the ID
        /// </summary>
        /// <param name="transactionExecutionEnvironment">The transaction execution environment</param>
        /// <param name="customHeaders">Custom headers to sent to the neo4j server</param>
        internal static void DoCommit(ITransactionExecutionEnvironment transactionExecutionEnvironment, NameValueCollection customHeaders = null)
        {
            var commitUri = transactionExecutionEnvironment.TransactionBaseEndpoint.AddPath(
                transactionExecutionEnvironment.TransactionId.ToString());

            DoCommit(
                commitUri,
                new ExecutionConfiguration
            {
                HttpClient       = new HttpClientWrapper(transactionExecutionEnvironment.Username, transactionExecutionEnvironment.Password),
                JsonConverters   = GraphClient.DefaultJsonConverters,
                UseJsonStreaming = transactionExecutionEnvironment.UseJsonStreaming,
                UserAgent        = transactionExecutionEnvironment.UserAgent
            },
                new CustomJsonSerializer(),
                customHeaders
                );
        }
Exemplo n.º 5
0
 /// <summary>
 /// Rolls back a transaction given the ID
 /// </summary>
 /// <param name="transactionExecutionEnvironment">The transaction execution environment</param>
 internal static void DoRollback(ITransactionExecutionEnvironment transactionExecutionEnvironment)
 {
     try
     {
         var rollbackUri = transactionExecutionEnvironment.TransactionBaseEndpoint.AddPath(
             transactionExecutionEnvironment.TransactionId.ToString());
         DoRollback(
             rollbackUri,
             new ExecutionConfiguration
         {
             HttpClient       = new HttpClientWrapper(transactionExecutionEnvironment.Username, transactionExecutionEnvironment.Password),
             JsonConverters   = GraphClient.DefaultJsonConverters,
             UseJsonStreaming = transactionExecutionEnvironment.UseJsonStreaming,
             UserAgent        = transactionExecutionEnvironment.UserAgent
         });
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// Rolls back a transaction given the ID
 /// </summary>
 /// <param name="transactionExecutionEnvironment">The transaction execution environment</param>
 internal static Task DoRollback(ITransactionExecutionEnvironment transactionExecutionEnvironment, NameValueCollection customHeaders = null)
 {
     try
     {
         var rollbackUri = transactionExecutionEnvironment.TransactionBaseEndpoint.AddPath(
             transactionExecutionEnvironment.TransactionId.ToString());
         return(DoRollback(
                    rollbackUri,
                    new ExecutionConfiguration
         {
             HttpClient = new HttpClientWrapper(transactionExecutionEnvironment.Username, transactionExecutionEnvironment.Password),
             JsonConverters = GraphClient.DefaultJsonConverters,
             UseJsonStreaming = transactionExecutionEnvironment.UseJsonStreaming,
             UserAgent = transactionExecutionEnvironment.UserAgent
         },
                    customHeaders));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public Neo4jTransationSinglePhaseNotification(ITransactionExecutionEnvironment transactionExecutionEnvironment)
 {
     _transactionExecutionEnvironment = transactionExecutionEnvironment;
 }
 public void Enlist(ITransactionExecutionEnvironment transactionExecutionEnvironment, byte[] transactionToken)
 {
     var tx = TransactionInterop.GetTransactionFromTransmitterPropagationToken(transactionToken);
     new Neo4jTransationSinglePhaseNotification(transactionExecutionEnvironment).Enlist(tx);
 }
Exemplo n.º 9
0
 /// <summary>
 /// Rolls back a transaction given the ID
 /// </summary>
 /// <param name="transactionExecutionEnvironment">The transaction execution environment</param>
 internal static void DoRollback(ITransactionExecutionEnvironment transactionExecutionEnvironment)
 {
     try
     {
         var rollbackUri = transactionExecutionEnvironment.TransactionBaseEndpoint.AddPath(
             transactionExecutionEnvironment.TransactionId.ToString());
         DoRollback(
             rollbackUri,
             new ExecutionConfiguration
             {
                 HttpClient = new HttpClientWrapper(transactionExecutionEnvironment.Username, transactionExecutionEnvironment.Password),
                 JsonConverters = GraphClient.DefaultJsonConverters,
                 UseJsonStreaming = transactionExecutionEnvironment.UseJsonStreaming,
                 UserAgent = transactionExecutionEnvironment.UserAgent
             });
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Exemplo n.º 10
0
 /// <summary>
 /// Keeps alive a transaction given the ID
 /// </summary>
 /// <param name="transactionExecutionEnvironment">The transaction execution environment</param>
 internal static void DoKeepAlive(ITransactionExecutionEnvironment transactionExecutionEnvironment)
 {
     var keepAliveUri = transactionExecutionEnvironment.TransactionBaseEndpoint.AddPath(
         transactionExecutionEnvironment.TransactionId.ToString());
     DoKeepAlive(
         keepAliveUri,
         new ExecutionConfiguration
         {
             HttpClient = new HttpClientWrapper(transactionExecutionEnvironment.Username, transactionExecutionEnvironment.Password),
             JsonConverters = GraphClient.DefaultJsonConverters,
             UseJsonStreaming = transactionExecutionEnvironment.UseJsonStreaming,
             UserAgent = transactionExecutionEnvironment.UserAgent
         },
         new CustomJsonSerializer());
 }
Exemplo n.º 11
0
 /// <summary>
 /// Commits a transaction given the ID
 /// </summary>
 /// <param name="transactionExecutionEnvironment">The transaction execution environment</param>
 /// <param name="customHeaders">Custom headers to sent to the neo4j server</param>
 internal static void DoCommit(ITransactionExecutionEnvironment transactionExecutionEnvironment, NameValueCollection customHeaders = null)
 {
     var commitUri = transactionExecutionEnvironment.TransactionBaseEndpoint.AddPath(
         transactionExecutionEnvironment.TransactionId.ToString());
     
     DoCommit(
         commitUri,
         new ExecutionConfiguration
         {
             HttpClient =  new HttpClientWrapper(transactionExecutionEnvironment.Username, transactionExecutionEnvironment.Password),
             JsonConverters = GraphClient.DefaultJsonConverters,
             UseJsonStreaming =  transactionExecutionEnvironment.UseJsonStreaming,
             UserAgent = transactionExecutionEnvironment.UserAgent
         },
         new CustomJsonSerializer(),
         customHeaders
         );
 }
Exemplo n.º 12
0
 public Neo4jTransationSinglePhaseNotification(ITransactionExecutionEnvironment transactionExecutionEnvironment)
 {
     this.transactionExecutionEnvironment = transactionExecutionEnvironment;
 }
Exemplo n.º 13
0
        public void Enlist(ITransactionExecutionEnvironment transactionExecutionEnvironment, byte[] transactionToken)
        {
            var tx = TransactionInterop.GetTransactionFromTransmitterPropagationToken(transactionToken);

            new Neo4jTransationSinglePhaseNotification(transactionExecutionEnvironment).Enlist(tx);
        }