mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Test BeanPersistAdapter with stateless update
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package com.avaje.tests.basic.event;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
@@ -19,8 +19,9 @@ public class TestPreInsertValidation extends BaseTestCase {
|
||||
// name with should not be null
|
||||
Ebean.save(e);
|
||||
|
||||
// the save worked
|
||||
// the save worked and name set in preInsert
|
||||
Assert.assertNotNull(e.getId());
|
||||
Assert.assertNotNull(e.getName());
|
||||
|
||||
TWithPreInsert e1 = Ebean.find(TWithPreInsert.class, e.getId());
|
||||
|
||||
@@ -28,4 +29,22 @@ public class TestPreInsertValidation extends BaseTestCase {
|
||||
Ebean.save(e1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStatelessUpdate() {
|
||||
|
||||
TWithPreInsert e = new TWithPreInsert();
|
||||
e.setName("BeanForUpdateTest");
|
||||
Ebean.save(e);
|
||||
|
||||
TWithPreInsert bean2 = new TWithPreInsert();
|
||||
bean2.setId(e.getId());
|
||||
bean2.setName("stateless-update-name");
|
||||
bean2.setTitle(null);
|
||||
|
||||
Ebean.update(bean2);
|
||||
|
||||
// title set on preUpdate
|
||||
Assert.assertNotNull(bean2.getTitle());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,34 +6,33 @@ import com.avaje.tests.model.basic.TWithPreInsert;
|
||||
|
||||
public class TWithPreInsertPersistAdapter extends BeanPersistAdapter {
|
||||
|
||||
@Override
|
||||
public boolean isRegisterFor(Class<?> cls) {
|
||||
return TWithPreInsert.class.equals(cls);
|
||||
}
|
||||
@Override
|
||||
public boolean isRegisterFor(Class<?> cls) {
|
||||
return TWithPreInsert.class.equals(cls);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preInsert(BeanPersistRequest<?> request) {
|
||||
|
||||
TWithPreInsert e = (TWithPreInsert)request.getBean();
|
||||
|
||||
e.setName("aname");
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean preInsert(BeanPersistRequest<?> request) {
|
||||
|
||||
@Override
|
||||
public boolean preUpdate(BeanPersistRequest<?> request) {
|
||||
|
||||
TWithPreInsert b = (TWithPreInsert)request.getBean();
|
||||
System.out.println("title is Missus:"+b.getTitle());
|
||||
|
||||
//Ebean.refresh(b);
|
||||
request.getEbeanServer().refresh(b);
|
||||
System.out.println("title is Mister:"+b.getTitle());
|
||||
|
||||
return super.preUpdate(request);
|
||||
TWithPreInsert e = (TWithPreInsert) request.getBean();
|
||||
if (e.getName() == null) {
|
||||
e.setName("set on preInsert");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preUpdate(BeanPersistRequest<?> request) {
|
||||
|
||||
TWithPreInsert b = (TWithPreInsert) request.getBean();
|
||||
System.out.println("preUpdate - title is: " + b.getTitle());
|
||||
if (b.getTitle() == null) {
|
||||
b.setTitle("set on preUpdate");
|
||||
}
|
||||
// request.getEbeanServer().refresh(b);
|
||||
// System.out.println("title is Mister:"+b.getTitle());
|
||||
|
||||
return super.preUpdate(request);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user