@Test public void makeSureHandlersCantBeRegisteredTwice() { DummyTransactionEventHandler<Object> handler = new DummyTransactionEventHandler<>( null ); GraphDatabaseService db = dbRule.getGraphDatabaseAPI(); db.registerTransactionEventHandler( handler ); db.registerTransactionEventHandler( handler ); try ( Transaction tx = db.beginTx() ) { db.createNode().delete(); tx.success(); } assertEquals( Integer.valueOf( 0 ), handler.beforeCommit ); assertEquals( Integer.valueOf( 1 ), handler.afterCommit ); assertNull( handler.afterRollback ); db.unregisterTransactionEventHandler( handler ); }
try db.unregisterTransactionEventHandler( handler1 ); fail( "Shouldn't be able to do unregister on a unregistered handler" ); assertSame( handler1, db.unregisterTransactionEventHandler( handler1 ) ); db.unregisterTransactionEventHandler( handler1 ); fail( "Shouldn't be able to do unregister on a unregistered handler" ); assertSame( handler1, db.unregisterTransactionEventHandler( handler1 ) ); assertSame( handler2, db.unregisterTransactionEventHandler( handler2 ) ); assertEquals( value1, handler1.receivedState ); assertNotNull( handler1.receivedTransactionData ); db.unregisterTransactionEventHandler( handler1 );
db.unregisterTransactionEventHandler( handler );
db.unregisterTransactionEventHandler( handlers.remove( 2 ) ); for ( TransactionEventHandler<Object> handler : handlers ) db.unregisterTransactionEventHandler( handler );
db.unregisterTransactionEventHandler( handler );
@Test public void makeSureHandlerIsntCalledWhenTxRolledBack() { DummyTransactionEventHandler<Integer> handler = new DummyTransactionEventHandler<>( 10 ); GraphDatabaseService db = dbRule.getGraphDatabaseAPI(); db.registerTransactionEventHandler( handler ); try { try ( Transaction ignore = db.beginTx() ) { db.createNode().delete(); } assertNull( handler.beforeCommit ); assertNull( handler.afterCommit ); assertNull( handler.afterRollback ); } finally { db.unregisterTransactionEventHandler( handler ); } }
db.unregisterTransactionEventHandler( handler ); db.unregisterTransactionEventHandler( handler );
db.unregisterTransactionEventHandler( handler );
@Test public void shouldAccessAssignedLabels() { // given GraphDatabaseService db = dbRule.getGraphDatabaseAPI(); ChangedLabels labels = (ChangedLabels) db.registerTransactionEventHandler( new ChangedLabels() ); try { // when try ( Transaction tx = db.beginTx() ) { Node node1 = db.createNode(); Node node2 = db.createNode(); Node node3 = db.createNode(); labels.add( node1, "Foo" ); labels.add( node2, "Bar" ); labels.add( node3, "Baz" ); labels.add( node3, "Bar" ); labels.activate(); tx.success(); } // then assertTrue( labels.isEmpty() ); } finally { db.unregisterTransactionEventHandler( labels ); } }
db.unregisterTransactionEventHandler( labels );
@Override public <T> TransactionEventHandler<T> unregisterTransactionEventHandler( TransactionEventHandler<T> arg0) { return graphDb.unregisterTransactionEventHandler(arg0); }
@Override public <T> TransactionEventHandler<T> unregisterTransactionEventHandler( TransactionEventHandler<T> arg0) { return graphDb.unregisterTransactionEventHandler(arg0); }
@Override public void shutdown() throws Throwable { if (!enabled) return; gds.unregisterTransactionEventHandler(handler); client.shutdownClient(); logger.info("Disconnected from ElasticSearch"); }