Fix for #201: Change BeanPersistListener to use isRegisterFor() method rather than generics type (just like BeanPersistController)

This commit is contained in:
rbygrave
2014-11-19 19:43:34 +13:00
parent e04d6979d1
commit c95d76d6f6
12 changed files with 215 additions and 319 deletions
@@ -2,15 +2,23 @@ package com.avaje.tests.model.basic;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebean.event.BeanPersistListener;
import com.avaje.ebean.event.BulkTableEvent;
import com.avaje.ebean.event.BulkTableEventListener;
import com.avaje.ebean.event.ServerConfigStartup;
import com.avaje.ebean.event.*;
public class MyEBasicConfigStartup implements ServerConfigStartup {
public static AtomicLong insertCount = new AtomicLong();
public static AtomicLong updateCount = new AtomicLong();
public static AtomicLong deleteCount = new AtomicLong();
public static void resetCounters() {
insertCount.set(0);
updateCount.set(0);
deleteCount.set(0);
}
public void onStart(ServerConfig serverConfig) {
serverConfig.add(new EbasicPersistList());
@@ -35,32 +43,31 @@ public class MyEBasicConfigStartup implements ServerConfigStartup {
}
public static class EbasicPersistList implements BeanPersistListener<EBasic> {
public static class EbasicPersistList extends AbstractBeanPersistListener {
public boolean inserted(EBasic bean) {
System.out.println("-- EBasic inserted " + bean.getId());
@Override
public boolean isRegisterFor(Class<?> cls) {
return EBasic.class.isAssignableFrom(cls);
}
public boolean inserted(Object bean) {
insertCount.incrementAndGet();
System.out.println("-- EBasic inserted " + ((EBasic)bean).getId());
return false;
}
public boolean updated(EBasic bean, Set<String> updatedProperties) {
System.out.println("-- EBasic updated " + bean.getId()+" updatedProperties: "+updatedProperties);
public boolean updated(Object bean, Set<String> updatedProperties) {
updateCount.incrementAndGet();
System.out.println("-- EBasic updated " + ((EBasic)bean).getId()+" updatedProperties: "+updatedProperties);
return false;
}
public boolean deleted(EBasic bean) {
System.out.println("-- EBasic deleted " + bean.getId());
public boolean deleted(Object bean) {
deleteCount.incrementAndGet();
System.out.println("-- EBasic deleted " + ((EBasic)bean).getId());
return false;
}
public void remoteInsert(Object id) {
}
public void remoteUpdate(Object id) {
}
public void remoteDelete(Object id) {
}
}
}