/// <summary> /// Creates a transaction update job request object /// </summary> /// <param name="updateTransaction">The update transaction data</param> /// <param name="label">OPTIONAL: A user-friendly label for the job. May be NULL to </param> /// <returns>A new <see cref="JobRequestObject"/> instance</returns> public static JobRequestObject CreateTransactionJob(UpdateTransactionData updateTransaction, string label) { return new JobRequestObject("Transaction", new Dictionary<string, string> { {"Preconditions", updateTransaction.ExistencePreconditions}, {"NonexistencePreconditions", updateTransaction.NonexistencePreconditions}, {"Deletes", updateTransaction.DeletePatterns}, {"Inserts", updateTransaction.InsertData}, {"DefaultGraphUri", updateTransaction.DefaultGraphUri} }, label); }
public static void AssertUpdateTransaction(IBrightstarService client, string storeName, UpdateTransactionData txnData) { var job = client.ExecuteTransaction(storeName, txnData); job = WaitForJob(job, client, storeName); Assert.IsTrue(job.JobCompletedOk, "Expected update transaction to complete successfully"); }
/// <summary> /// Execute an update transaction. /// </summary> /// <param name="storeName">The name of the store to modify</param> /// <param name="updateTransaction">The update transaction data</param> /// <param name="waitForCompletion">If set to true the method will block until the transaction completes</param> /// <param name="label">Optional user-friendly label for the job.</param> /// <returns>A <see cref="IJobInfo"/> instance for monitoring the status of the job</returns> public IJobInfo ExecuteTransaction(string storeName, UpdateTransactionData updateTransaction, bool waitForCompletion = true, string label = null) { try { if (!waitForCompletion) { var jobId = _serverCore.ProcessTransaction(storeName, updateTransaction.ExistencePreconditions, updateTransaction.NonexistencePreconditions, updateTransaction.DeletePatterns, updateTransaction.InsertData, updateTransaction.DefaultGraphUri, label); return GetJobInfo(storeName, jobId.ToString()); } else { var jobId = _serverCore.ProcessTransaction(storeName, updateTransaction.ExistencePreconditions, updateTransaction.NonexistencePreconditions, updateTransaction.DeletePatterns, updateTransaction.InsertData, updateTransaction.DefaultGraphUri, label); JobExecutionStatus status = _serverCore.GetJobStatus(storeName, jobId.ToString()); status.WaitEvent.WaitOne(); return new JobInfoObject(status); } } catch (Exception ex) { Logging.LogError(BrightstarEventId.ServerCoreException, "Error Queing Transaction {0} {1} {2}", storeName, updateTransaction.DeletePatterns, updateTransaction.InsertData); throw new BrightstarClientException( "Error queing transaction in store " + storeName + ". " + ex.Message, ex); } }
/// <summary> /// Execute an update transaction. /// </summary> /// <param name="storeName">The name of the store to modify</param> /// <param name="updateTransaction">The update transaction data</param> /// <param name="label">Optional user-friendly label for the job.</param> /// <returns>A <see cref="JobInfo"/> instance for monitoring the status of the job</returns> public IJobInfo ExecuteTransaction(string storeName, UpdateTransactionData updateTransaction, string label = null) { try { var jobId = _serverCore.ProcessTransaction(storeName, updateTransaction.ExistencePreconditions, updateTransaction.NonexistencePreconditions, updateTransaction.DeletePatterns, updateTransaction.InsertData, updateTransaction.DefaultGraphUri, label); return GetJobInfo(storeName, jobId.ToString()); } catch (Exception ex) { Logging.LogError(BrightstarEventId.ServerCoreException, "Error Queing Transaction {0} {1} {2}", storeName, updateTransaction.DeletePatterns, updateTransaction.InsertData); throw new BrightstarClientException("Error queing transaction in store " + storeName + ". " + ex.Message, ex); } }
private void InsertData(String data) { var updateData = new UpdateTransactionData(); updateData.InsertData = data; Service.ExecuteTransaction(StoreName, updateData); }