#390 - ChangeLog - Add ServerConfig.isChangeLogIncludeInserts() and ChangeLogInsertMode enum with associated changes

This commit is contained in:
Robin Bygrave committed 2015-08-25 13:54:34 +12:00
1 parent 16d5e04809
commit f3e66c459a
8 files changed
+111 -18

No files matched your search

@@ -15,10 +15,11 @@ import static org.junit.Assert.assertTrue;
public class DefaultChangeLogRegisterTest extends BaseTestCase {
DefaultChangeLogRegister register = new DefaultChangeLogRegister();
@Test
public void test() {
public void test_defaultInsertTrue() {
DefaultChangeLogRegister register = new DefaultChangeLogRegister(true);
assertNull(register.getChangeFilter(Address.class));
@@ -27,13 +28,37 @@ public class DefaultChangeLogRegisterTest extends BaseTestCase {
assertFalse(updateFilter.includeInserts);
assertThat(updateFilter.updateProperties).containsExactly("name", "status");
changeFilter = register.getChangeFilter(Country.class);
DefaultChangeLogRegister.BasicFilter countryFilter = (DefaultChangeLogRegister.BasicFilter)changeFilter;
assertTrue(countryFilter.includeInserts);
// use default setting
changeFilter = register.getChangeFilter(Contact.class);
DefaultChangeLogRegister.BasicFilter contactFilter = (DefaultChangeLogRegister.BasicFilter)changeFilter;
assertTrue(contactFilter.includeInserts);
}
@Test
public void test_defaultInsertFalse() {
DefaultChangeLogRegister register = new DefaultChangeLogRegister(false);
assertNull(register.getChangeFilter(Address.class));
ChangeLogFilter changeFilter = register.getChangeFilter(Customer.class);
DefaultChangeLogRegister.UpdateFilter updateFilter = (DefaultChangeLogRegister.UpdateFilter)changeFilter;
assertFalse(updateFilter.includeInserts);
assertThat(updateFilter.updateProperties).containsExactly("name", "status");
changeFilter = register.getChangeFilter(Country.class);
DefaultChangeLogRegister.BasicFilter countryFilter = (DefaultChangeLogRegister.BasicFilter)changeFilter;
assertFalse(countryFilter.includeInserts);
assertTrue(countryFilter.includeInserts);
// use default setting
changeFilter = register.getChangeFilter(Contact.class);
DefaultChangeLogRegister.BasicFilter contactFilter = (DefaultChangeLogRegister.BasicFilter)changeFilter;
assertFalse(contactFilter.includeInserts);
}
@@ -1,22 +1,23 @@
package com.avaje.tests.model.basic;
import com.avaje.ebean.annotation.CacheStrategy;
import com.avaje.ebean.annotation.CacheTuning;
import com.avaje.ebean.annotation.ChangeLog;
import com.avaje.ebean.annotation.ChangeLogInsertMode;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Size;
import com.avaje.ebean.annotation.CacheStrategy;
import com.avaje.ebean.annotation.CacheTuning;
import com.avaje.ebean.annotation.ChangeLog;
/**
* Country entity bean.
*/
@ChangeLog(excludeInserts = true)
@CacheStrategy(readOnly=true,warmingQuery="order by name")
@CacheTuning(maxSize=500)
@ChangeLog(inserts = ChangeLogInsertMode.INCLUDE)
@CacheStrategy(readOnly = true, warmingQuery = "order by name")
@CacheTuning(maxSize = 500)
@Entity
@Table(name="o_country")
@Table(name = "o_country")
public class Country {
@Id
@@ -1,6 +1,7 @@
package com.avaje.tests.model.basic;
import com.avaje.ebean.annotation.ChangeLog;
import com.avaje.ebean.annotation.ChangeLogInsertMode;
import com.avaje.ebean.annotation.EnumValue;
import com.avaje.ebean.annotation.JsonIgnore;
import com.avaje.ebean.annotation.Where;
@@ -21,7 +22,7 @@ import java.util.concurrent.locks.ReentrantLock;
/**
* Customer entity bean.
*/
@ChangeLog(excludeInserts = true, updatesThatInclude = {"name","status"})
@ChangeLog(inserts = ChangeLogInsertMode.EXCLUDE, updatesThatInclude = {"name","status"})
@Entity
@Table(name = "o_customer")
public class Customer extends BasicDomain {