public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { TransactionStreamResponse response = new TransactionStreamResponse(); var jsonToken = JToken.Load(reader); if (jsonToken.Type == JTokenType.Object) { bool isHeartbeat = jsonToken["type"].Value <string>() == "HEARTBEAT"; if (isHeartbeat) { var heartbeat = new TransactionHeartbeat(); serializer.Populate(jsonToken.CreateReader(), heartbeat); response.heartbeat = heartbeat; } else { ITransaction transaction = TransactionFactory.Create(jsonToken["type"].Value <string>()); serializer.Populate(jsonToken.CreateReader(), transaction); response.transaction = transaction; } return(response); } else { throw new ArgumentException(string.Format("Unexpected JTokenType ({0}) in reader.", jsonToken.Type.ToString())); } }
protected static void OnTransactionReceived(TransactionStreamResponse data) { if (!data.IsHeartbeat()) { WriteNewLine("V20 notification - New account transaction: " + data.transaction.type); } _transactionReceived.Release(); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Before public void setUp() public virtual void SetUp() { _master = mock(typeof(Master)); _databaseAvailabilityGuard = new DatabaseAvailabilityGuard(DEFAULT_DATABASE_NAME, Clocks.fakeClock(), Instance); _lockManager = new CommunityLockManger(Config.defaults(), Clocks.systemClock()); _local = spy(_lockManager.newClient()); _logProvider = new AssertableLogProvider(); LockResult lockResultOk = new LockResult(LockStatus.OkLocked); TransactionStreamResponse <LockResult> responseOk = new TransactionStreamResponse <LockResult>(lockResultOk, null, Org.Neo4j.com.TransactionStream_Fields.Empty, Org.Neo4j.com.ResourceReleaser_Fields.NoOp); WhenMasterAcquireShared().thenReturn(responseOk); WhenMasterAcquireExclusive().thenReturn(responseOk); _client = new SlaveLocksClient(_master, _local, _lockManager, mock(typeof(RequestContextFactory)), _databaseAvailabilityGuard, _logProvider); }