From f8b5a7f31224d45ed7ee80dccdf614d2065d6c89 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Wed, 27 Apr 2016 08:04:43 +1200 Subject: [PATCH] #666 - deleteAll(beans) return int , but deleteAll(beanType,ids) return void in EbeanServer --- src/main/java/com/avaje/ebean/Ebean.java | 8 +++---- .../java/com/avaje/ebean/EbeanServer.java | 8 +++---- .../server/core/DefaultServer.java | 21 ++++++++++--------- .../ebeaninternal/server/core/Persister.java | 2 +- .../server/persist/DefaultPersister.java | 6 +++--- .../ebeaninternal/api/TDSpiEbeanServer.java | 16 +++++++------- 6 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/avaje/ebean/Ebean.java b/src/main/java/com/avaje/ebean/Ebean.java index d56f48c78..bd72189b7 100644 --- a/src/main/java/com/avaje/ebean/Ebean.java +++ b/src/main/java/com/avaje/ebean/Ebean.java @@ -738,15 +738,15 @@ public final class Ebean { /** * Delete several beans given their type and id values. */ - public static void deleteAll(Class beanType, Collection ids) { - serverMgr.getDefaultServer().deleteAll(beanType, ids); + public static int deleteAll(Class beanType, Collection ids) { + return serverMgr.getDefaultServer().deleteAll(beanType, ids); } /** * Delete permanent several beans given their type and id values. */ - public static void deleteAllPermanent(Class beanType, Collection ids) { - serverMgr.getDefaultServer().deleteAllPermanent(beanType, ids); + public static int deleteAllPermanent(Class beanType, Collection ids) { + return serverMgr.getDefaultServer().deleteAllPermanent(beanType, ids); } /** diff --git a/src/main/java/com/avaje/ebean/EbeanServer.java b/src/main/java/com/avaje/ebean/EbeanServer.java index 6f54bd2f2..6d995c955 100644 --- a/src/main/java/com/avaje/ebean/EbeanServer.java +++ b/src/main/java/com/avaje/ebean/EbeanServer.java @@ -1373,22 +1373,22 @@ public interface EbeanServer { /** * Delete several beans given their type and id values. */ - void deleteAll(Class beanType, Collection ids); + int deleteAll(Class beanType, Collection ids); /** * Delete several beans given their type and id values with an explicit transaction. */ - void deleteAll(Class beanType, Collection ids, Transaction transaction); + int deleteAll(Class beanType, Collection ids, Transaction transaction); /** * Delete permanent for several beans given their type and id values. */ - void deleteAllPermanent(Class beanType, Collection ids); + int deleteAllPermanent(Class beanType, Collection ids); /** * Delete permanent for several beans given their type and id values with an explicit transaction. */ - void deleteAllPermanent(Class beanType, Collection ids, Transaction transaction); + int deleteAllPermanent(Class beanType, Collection ids, Transaction transaction); /** * Execute a Sql Update Delete or Insert statement. This returns the number of diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java index 1f144be70..60a550cdd 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java @@ -1793,32 +1793,33 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } @Override - public void deleteAll(Class beanType, Collection ids) { - deleteAll(beanType, ids, null); + public int deleteAll(Class beanType, Collection ids) { + return deleteAll(beanType, ids, null); } @Override - public void deleteAll(Class beanType, Collection ids, Transaction t) { - deleteAll(beanType, ids, t, false); + public int deleteAll(Class beanType, Collection ids, Transaction t) { + return deleteAll(beanType, ids, t, false); } @Override - public void deleteAllPermanent(Class beanType, Collection ids) { - deleteAll(beanType, ids, null, true); + public int deleteAllPermanent(Class beanType, Collection ids) { + return deleteAll(beanType, ids, null, true); } @Override - public void deleteAllPermanent(Class beanType, Collection ids, Transaction t) { - deleteAll(beanType, ids, t, true); + public int deleteAllPermanent(Class beanType, Collection ids, Transaction t) { + return deleteAll(beanType, ids, t, true); } - private void deleteAll(Class beanType, Collection ids, Transaction t, boolean permanent) { + private int deleteAll(Class beanType, Collection ids, Transaction t, boolean permanent) { TransWrapper wrap = initTransIfRequired(t); try { SpiTransaction trans = wrap.transaction; - persister.deleteMany(beanType, ids, trans, permanent); + int count = persister.deleteMany(beanType, ids, trans, permanent); wrap.commitIfCreated(); + return count; } catch (RuntimeException e) { wrap.rollbackIfCreated(); diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java b/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java index 3413ccd3d..ed12aed8c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java @@ -71,7 +71,7 @@ public interface Persister { /** * Delete multiple beans given a collection of Id values. */ - void deleteMany(Class beanType, Collection ids, Transaction transaction, boolean permanent); + int deleteMany(Class beanType, Collection ids, Transaction transaction, boolean permanent); /** * Execute the Update. diff --git a/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java b/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java index a74bca758..ff2cd19c4 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java +++ b/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java @@ -565,10 +565,10 @@ public final class DefaultPersister implements Persister { /** * Delete by a List of Id's. */ - public void deleteMany(Class beanType, Collection ids, Transaction transaction, boolean permanent) { + public int deleteMany(Class beanType, Collection ids, Transaction transaction, boolean permanent) { if (ids == null || ids.size() == 0) { - return; + return 0; } BeanDescriptor descriptor = beanDescriptorManager.getBeanDescriptor(beanType); @@ -580,7 +580,7 @@ public final class DefaultPersister implements Persister { } boolean softDelete = !permanent && descriptor.isSoftDelete(); - delete(descriptor, null, idList, transaction, softDelete); + return delete(descriptor, null, idList, transaction, softDelete); } /** diff --git a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java index 8ae9467e1..9d2e5c880 100644 --- a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java +++ b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java @@ -766,23 +766,23 @@ public class TDSpiEbeanServer implements SpiEbeanServer { } @Override - public void deleteAll(Class beanType, Collection ids) { - + public int deleteAll(Class beanType, Collection ids) { + return 0; } @Override - public void deleteAll(Class beanType, Collection ids, Transaction transaction) { - + public int deleteAll(Class beanType, Collection ids, Transaction transaction) { + return 0; } @Override - public void deleteAllPermanent(Class beanType, Collection ids) { - + public int deleteAllPermanent(Class beanType, Collection ids) { + return 0; } @Override - public void deleteAllPermanent(Class beanType, Collection ids, Transaction transaction) { - + public int deleteAllPermanent(Class beanType, Collection ids, Transaction transaction) { + return 0; } @Override