#493 - ENH: Multi-tenant support

This commit is contained in:
Rob Bygrave committed 2016-11-29 01:34:45 +13:00
1 parent aecac211d9
commit c0341458c3
46 files changed
+878 -296

No files matched your search

@@ -49,6 +49,11 @@ public class TDSpiEbeanServer implements SpiEbeanServer {
}
@Override
public Object currentTenantId() {
return null;
}
@Override
public DataTimeZone getDataTimeZone() {
return null;
@@ -19,34 +19,34 @@ public class DefaultCacheHolder_getCacheOptions_Test {
defaultOptions.setMaxSize(10000);
defaultOptions.setMaxSecsToLive(120);
this.cacheHolder = new DefaultCacheHolder(null, defaultOptions);
this.cacheHolder = new DefaultCacheHolder(null, defaultOptions, null);
}
@Test
public void beanOptions_when_set() {
ServerCacheOptions options = cacheHolder.getCacheOptions(Article.class.getName(), ServerCacheType.BEAN);
ServerCacheOptions options = cacheHolder.getCacheOptions(Article.class, ServerCacheType.BEAN);
assertEquals(options.getMaxSecsToLive(), 45);
}
@Test
public void beanOptions_when_notSet_expect_default() {
ServerCacheOptions options = cacheHolder.getCacheOptions(Order.class.getName(), ServerCacheType.BEAN);
ServerCacheOptions options = cacheHolder.getCacheOptions(Order.class, ServerCacheType.BEAN);
assertEquals(options.getMaxSecsToLive(), 120);
}
@Test
public void queryOptions_when_set() {
ServerCacheOptions options = cacheHolder.getCacheOptions(Product.class.getName(), ServerCacheType.QUERY);
ServerCacheOptions options = cacheHolder.getCacheOptions(Product.class, ServerCacheType.QUERY);
assertEquals(options.getMaxSecsToLive(), 15);
}
@Test
public void queryOptions_when_notSet_expect_default() {
ServerCacheOptions options = cacheHolder.getCacheOptions(Order.class.getName(), ServerCacheType.QUERY);
ServerCacheOptions options = cacheHolder.getCacheOptions(Order.class, ServerCacheType.QUERY);
assertEquals(options.getMaxSecsToLive(), 120);
}
}
@@ -27,7 +27,6 @@ public class TestCacheCollectionIds extends BaseTestCase {
awaitL2Cache();
ServerCache custCache = cacheManager.getBeanCache(Customer.class);
ServerCache contactCache = cacheManager.getBeanCache(Contact.class);
ServerCache custManyIdsCache = cacheManager.getCollectionIdsCache(Customer.class, "contacts");
// cacheManager.setCaching(Customer.class, true);
@@ -1,33 +0,0 @@
package com.avaje.tests.cache;
import com.avaje.ebean.BaseTestCase;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.cache.ServerCacheManager;
import com.avaje.tests.model.basic.Customer;
import com.avaje.tests.model.basic.ResetBasicData;
import org.junit.Assert;
import org.junit.Test;
public class TestCacheReferenceLazyLoad extends BaseTestCase {
@Test
public void testLazyLoadOnRef() {
ResetBasicData.reset();
ServerCacheManager serverCacheManager = Ebean.getServerCacheManager();
boolean originallyBeanCaching = serverCacheManager.isBeanCaching(Customer.class);
Customer customer = Ebean.getReference(Customer.class, 1);
// invoke lazy loading
customer.getName();
if (!originallyBeanCaching) {
// the lazy loading shouldn't start the L2 bean cache
boolean beanCachingAfter = serverCacheManager.isBeanCaching(Customer.class);
Assert.assertFalse(beanCachingAfter);
}
}
}
@@ -154,10 +154,8 @@ public class TestQueryFindIterate extends BaseTestCase {
LoggedSqlCollector.start();
// make sure we don't hit the L2 cache for order shipments
Ebean.getServerCacheManager().getBeanCache(Order.class).clear();
Ebean.getServerCacheManager().getQueryCache(Order.class).clear();
Ebean.getServerCacheManager().getBeanCache(OrderShipment.class).clear();
Ebean.getServerCacheManager().getQueryCache(OrderShipment.class).clear();
Ebean.getServerCacheManager().clear(Order.class);
Ebean.getServerCacheManager().clear(OrderShipment.class);
Ebean.find(Order.class)
.setLazyLoadBatchSize(10)