From a92e620f7e65240da9562d9d33e20613f8939bab Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 31 Jan 2018 13:36:23 +1300 Subject: [PATCH] #1245 - Refactor internals - move logic to TransactionManager from DefaultServer --- .../server/core/DefaultServer.java | 7 +------ .../server/transaction/TransactionManager.java | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java index b9267a91b..018d63ac2 100644 --- a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java @@ -552,12 +552,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { */ @Override public void externalModification(TransactionEventTable tableEvent) { - SpiTransaction t = transactionManager.get(); - if (t != null) { - t.getEvent().add(tableEvent); - } else { - transactionManager.externalModification(tableEvent); - } + transactionManager.externalModification(tableEvent); } /** diff --git a/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java b/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java index 3b880777a..cc2608919 100644 --- a/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java +++ b/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java @@ -417,14 +417,16 @@ public class TransactionManager implements SpiTransactionManager { } } - /** - * Process a Transaction that comes from another framework or local code. - *

- * For cases where raw SQL/JDBC or other frameworks are used this can - * invalidate the appropriate parts of the cache. - *

- */ - public void externalModification(TransactionEventTable tableEvents) { + public void externalModification(TransactionEventTable tableEvent) { + SpiTransaction t = get(); + if (t != null) { + t.getEvent().add(tableEvent); + } else { + externalModificationEvent(tableEvent); + } + } + + private void externalModificationEvent(TransactionEventTable tableEvents) { TransactionEvent event = new TransactionEvent(); event.add(tableEvents);