mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)
77138: Merged PLATFORM1 (5.0/Cloud) to HEAD-BUG-FIX (5.0/Cloud) 73642: Merged DEV to PLATFORM1(4.3.0) ACE-1996: Cluster: Web client extensions not distributed: 72232: MNT-9882: Cluster: Web client extensions not distributed - Use asynchronously refreshed cache in diactionaryDAO 73275: MNT-9882: Cluster: Web client extensions not distributed - Add javadocs, remove excess classes. 73509: MNT-9882: Cluster: Web client extensions not distributed - Remove stale configs for "compiledModelsSharedCache", remove unreachable code from DictionaryDAOImpl, return value from NoOpCompiledModelsCache.get() method. 73591: ACE-1996: Cluster: Web client extensions not distributed - Remove NoOpCompiledModelsCache. - Modify unit tests that uses CompiledModelCache git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@77994 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -378,8 +378,8 @@
|
|||||||
|
|
||||||
<!-- The cross-transaction shared cache for Dictionary Models -->
|
<!-- The cross-transaction shared cache for Dictionary Models -->
|
||||||
|
|
||||||
<bean name="compiledModelsCache" factory-bean="cacheFactory" factory-method="createCache">
|
<bean name="compiledModelsCache" class="org.alfresco.repo.dictionary.CompiledModelsCache" parent="abstractAsynchronouslyRefreshedCache">
|
||||||
<constructor-arg value="cache.compiledModelsSharedCache"/>
|
<property name="dictionaryDAO" ref="dictionaryDAO" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<!-- The cross-transaction shared cache for Dictionary Namespaces [Must be non-clustered, non-txn and UNLIMITED IN SIZE]-->
|
<!-- The cross-transaction shared cache for Dictionary Namespaces [Must be non-clustered, non-txn and UNLIMITED IN SIZE]-->
|
||||||
|
@@ -364,7 +364,7 @@ cache.loadedResourceBundlesSharedCache.eviction-percentage=25
|
|||||||
cache.loadedResourceBundlesSharedCache.merge-policy=hz.ADD_NEW_ENTRY
|
cache.loadedResourceBundlesSharedCache.merge-policy=hz.ADD_NEW_ENTRY
|
||||||
|
|
||||||
cache.messagesSharedCache.tx.maxItems=1000
|
cache.messagesSharedCache.tx.maxItems=1000
|
||||||
cache.messagesSharedCache.maxItems=250
|
cache.messagesSharedCache.maxItems=1000
|
||||||
cache.messagesSharedCache.timeToLiveSeconds=0
|
cache.messagesSharedCache.timeToLiveSeconds=0
|
||||||
cache.messagesSharedCache.maxIdleSeconds=0
|
cache.messagesSharedCache.maxIdleSeconds=0
|
||||||
cache.messagesSharedCache.cluster.type=invalidating
|
cache.messagesSharedCache.cluster.type=invalidating
|
||||||
|
@@ -20,13 +20,15 @@ package org.alfresco.repo.dictionary;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
import org.alfresco.repo.cache.DefaultSimpleCache;
|
import org.alfresco.repo.cache.DefaultSimpleCache;
|
||||||
import org.alfresco.repo.cache.SimpleCache;
|
import org.alfresco.repo.cache.SimpleCache;
|
||||||
import org.alfresco.repo.dictionary.DictionaryDAOImpl.DictionaryRegistry;
|
|
||||||
import org.alfresco.repo.dictionary.NamespaceDAOImpl.NamespaceRegistry;
|
import org.alfresco.repo.dictionary.NamespaceDAOImpl.NamespaceRegistry;
|
||||||
import org.alfresco.repo.tenant.SingleTServiceImpl;
|
import org.alfresco.repo.tenant.SingleTServiceImpl;
|
||||||
import org.alfresco.repo.tenant.TenantService;
|
import org.alfresco.repo.tenant.TenantService;
|
||||||
|
import org.alfresco.util.ThreadPoolExecutorFactoryBean;
|
||||||
|
import org.alfresco.util.cache.DefaultAsynchronouslyRefreshedCacheRegistry;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,8 +46,9 @@ public class TestModel
|
|||||||
* TestModel [-h] [model filename]*
|
* TestModel [-h] [model filename]*
|
||||||
* <p>
|
* <p>
|
||||||
* Returns 0 for success.
|
* Returns 0 for success.
|
||||||
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static void main(String[] args)
|
public static void main(String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (args != null && args.length > 0 && args[0].equals("-h"))
|
if (args != null && args.length > 0 && args[0].equals("-h"))
|
||||||
{
|
{
|
||||||
@@ -89,7 +92,7 @@ public class TestModel
|
|||||||
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
||||||
dictionaryDAO.setTenantService(tenantService);
|
dictionaryDAO.setTenantService(tenantService);
|
||||||
|
|
||||||
initDictionaryCaches(dictionaryDAO);
|
initDictionaryCaches(dictionaryDAO, tenantService);
|
||||||
|
|
||||||
// bootstrap dao
|
// bootstrap dao
|
||||||
try
|
try
|
||||||
@@ -116,15 +119,23 @@ public class TestModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO)
|
private static void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO, TenantService tenantService) throws Exception
|
||||||
{
|
{
|
||||||
SimpleCache<String, DictionaryRegistry> dictionaryCache = new DefaultSimpleCache<String, DictionaryRegistry>();
|
CompiledModelsCache compiledModelsCache = new CompiledModelsCache();
|
||||||
dictionaryDAO.setDictionaryRegistryCache(dictionaryCache);
|
compiledModelsCache.setDictionaryDAO(dictionaryDAO);
|
||||||
|
compiledModelsCache.setTenantService(tenantService);
|
||||||
|
compiledModelsCache.setRegistry(new DefaultAsynchronouslyRefreshedCacheRegistry());
|
||||||
|
ThreadPoolExecutorFactoryBean threadPoolfactory = new ThreadPoolExecutorFactoryBean();
|
||||||
|
threadPoolfactory.afterPropertiesSet();
|
||||||
|
compiledModelsCache.setThreadPoolExecutor((ThreadPoolExecutor) threadPoolfactory.getObject());
|
||||||
|
dictionaryDAO.setDictionaryRegistryCache(compiledModelsCache);
|
||||||
|
dictionaryDAO.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initNamespaceCaches(NamespaceDAOImpl namespaceDAO)
|
private static void initNamespaceCaches(NamespaceDAOImpl namespaceDAO)
|
||||||
{
|
{
|
||||||
SimpleCache<String, NamespaceRegistry> namespaceCache = new DefaultSimpleCache<String, NamespaceRegistry>();
|
SimpleCache<String, NamespaceRegistry> namespaceCache = new DefaultSimpleCache<String, NamespaceRegistry>();
|
||||||
namespaceDAO.setNamespaceRegistryCache(namespaceCache);
|
namespaceDAO.setNamespaceRegistryCache(namespaceCache);
|
||||||
|
namespaceDAO.init();
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -26,14 +26,13 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.repo.cache.DefaultSimpleCache;
|
import org.alfresco.repo.cache.DefaultSimpleCache;
|
||||||
import org.alfresco.repo.cache.NullCache;
|
|
||||||
import org.alfresco.repo.cache.SimpleCache;
|
import org.alfresco.repo.cache.SimpleCache;
|
||||||
import org.alfresco.repo.dictionary.DictionaryDAOImpl.DictionaryRegistry;
|
|
||||||
import org.alfresco.repo.dictionary.NamespaceDAOImpl.NamespaceRegistry;
|
import org.alfresco.repo.dictionary.NamespaceDAOImpl.NamespaceRegistry;
|
||||||
import org.alfresco.repo.dictionary.constraint.AbstractConstraint;
|
import org.alfresco.repo.dictionary.constraint.AbstractConstraint;
|
||||||
import org.alfresco.repo.dictionary.constraint.ConstraintRegistry;
|
import org.alfresco.repo.dictionary.constraint.ConstraintRegistry;
|
||||||
@@ -57,6 +56,8 @@ import org.alfresco.service.cmr.dictionary.PropertyDefinition;
|
|||||||
import org.alfresco.service.cmr.dictionary.TypeDefinition;
|
import org.alfresco.service.cmr.dictionary.TypeDefinition;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.util.ThreadPoolExecutorFactoryBean;
|
||||||
|
import org.alfresco.util.cache.DefaultAsynchronouslyRefreshedCacheRegistry;
|
||||||
import org.springframework.extensions.surf.util.I18NUtil;
|
import org.springframework.extensions.surf.util.I18NUtil;
|
||||||
|
|
||||||
|
|
||||||
@@ -71,7 +72,7 @@ public class RepoDictionaryDAOTest extends TestCase
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setUp()
|
public void setUp() throws Exception
|
||||||
{
|
{
|
||||||
// Registered the required constraints
|
// Registered the required constraints
|
||||||
ConstraintRegistry constraintRegistry = ConstraintRegistry.getInstance();
|
ConstraintRegistry constraintRegistry = ConstraintRegistry.getInstance();
|
||||||
@@ -95,7 +96,7 @@ public class RepoDictionaryDAOTest extends TestCase
|
|||||||
|
|
||||||
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
||||||
dictionaryDAO.setTenantService(tenantService);
|
dictionaryDAO.setTenantService(tenantService);
|
||||||
initDictionaryCaches(dictionaryDAO);
|
initDictionaryCaches(dictionaryDAO, tenantService);
|
||||||
|
|
||||||
// Populate with appropriate models
|
// Populate with appropriate models
|
||||||
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
||||||
@@ -116,20 +117,28 @@ public class RepoDictionaryDAOTest extends TestCase
|
|||||||
service = component;
|
service = component;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO)
|
private void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO, TenantService tenantService) throws Exception
|
||||||
{
|
{
|
||||||
SimpleCache<String,DictionaryRegistry> dictionaryCache = new DefaultSimpleCache<String, DictionaryRegistry>(11, getClass().getName() + ".dictionary");
|
CompiledModelsCache compiledModelsCache = new CompiledModelsCache();
|
||||||
dictionaryDAO.setDictionaryRegistryCache(dictionaryCache);
|
compiledModelsCache.setDictionaryDAO(dictionaryDAO);
|
||||||
|
compiledModelsCache.setTenantService(tenantService);
|
||||||
|
compiledModelsCache.setRegistry(new DefaultAsynchronouslyRefreshedCacheRegistry());
|
||||||
|
ThreadPoolExecutorFactoryBean threadPoolfactory = new ThreadPoolExecutorFactoryBean();
|
||||||
|
threadPoolfactory.afterPropertiesSet();
|
||||||
|
compiledModelsCache.setThreadPoolExecutor((ThreadPoolExecutor) threadPoolfactory.getObject());
|
||||||
|
dictionaryDAO.setDictionaryRegistryCache(compiledModelsCache);
|
||||||
|
dictionaryDAO.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initNamespaceCaches(NamespaceDAOImpl namespaceDAO)
|
private void initNamespaceCaches(NamespaceDAOImpl namespaceDAO)
|
||||||
{
|
{
|
||||||
SimpleCache<String, NamespaceRegistry> namespaceCache = new DefaultSimpleCache<String, NamespaceRegistry>(11, getClass().getName() + ".namespace");
|
SimpleCache<String, NamespaceRegistry> namespaceCache = new DefaultSimpleCache<String, NamespaceRegistry>(11, getClass().getName() + ".namespace");
|
||||||
namespaceDAO.setNamespaceRegistryCache(namespaceCache);
|
namespaceDAO.setNamespaceRegistryCache(namespaceCache);
|
||||||
|
namespaceDAO.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void testBootstrap()
|
public void testBootstrap() throws Exception
|
||||||
{
|
{
|
||||||
TenantService tenantService = new SingleTServiceImpl();
|
TenantService tenantService = new SingleTServiceImpl();
|
||||||
NamespaceDAOImpl namespaceDAO = new NamespaceDAOImpl();
|
NamespaceDAOImpl namespaceDAO = new NamespaceDAOImpl();
|
||||||
@@ -138,7 +147,7 @@ public class RepoDictionaryDAOTest extends TestCase
|
|||||||
|
|
||||||
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
||||||
dictionaryDAO.setTenantService(tenantService);
|
dictionaryDAO.setTenantService(tenantService);
|
||||||
initDictionaryCaches(dictionaryDAO);
|
initDictionaryCaches(dictionaryDAO, tenantService);
|
||||||
|
|
||||||
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
||||||
List<String> bootstrapModels = new ArrayList<String>();
|
List<String> bootstrapModels = new ArrayList<String>();
|
||||||
@@ -415,7 +424,7 @@ public class RepoDictionaryDAOTest extends TestCase
|
|||||||
assertTrue("Expected 'true' for timestamp propagation", childAssocDef.getPropagateTimestamps());
|
assertTrue("Expected 'true' for timestamp propagation", childAssocDef.getPropagateTimestamps());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testADB159() throws UnsupportedEncodingException
|
public void testADB159() throws Exception
|
||||||
{
|
{
|
||||||
// source dictionary
|
// source dictionary
|
||||||
TenantService tenantService = new SingleTServiceImpl();
|
TenantService tenantService = new SingleTServiceImpl();
|
||||||
@@ -424,7 +433,7 @@ public class RepoDictionaryDAOTest extends TestCase
|
|||||||
initNamespaceCaches(namespaceDAO);
|
initNamespaceCaches(namespaceDAO);
|
||||||
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
||||||
dictionaryDAO.setTenantService(tenantService);
|
dictionaryDAO.setTenantService(tenantService);
|
||||||
initDictionaryCaches(dictionaryDAO);
|
initDictionaryCaches(dictionaryDAO, tenantService);
|
||||||
|
|
||||||
// destination dictionary
|
// destination dictionary
|
||||||
NamespaceDAOImpl namespaceDAO2 = new NamespaceDAOImpl();
|
NamespaceDAOImpl namespaceDAO2 = new NamespaceDAOImpl();
|
||||||
@@ -432,7 +441,7 @@ public class RepoDictionaryDAOTest extends TestCase
|
|||||||
initNamespaceCaches(namespaceDAO2);
|
initNamespaceCaches(namespaceDAO2);
|
||||||
DictionaryDAOImpl dictionaryDAO2 = new DictionaryDAOImpl(namespaceDAO2);
|
DictionaryDAOImpl dictionaryDAO2 = new DictionaryDAOImpl(namespaceDAO2);
|
||||||
dictionaryDAO2.setTenantService(tenantService);
|
dictionaryDAO2.setTenantService(tenantService);
|
||||||
initDictionaryCaches(dictionaryDAO2);
|
initDictionaryCaches(dictionaryDAO2, tenantService);
|
||||||
|
|
||||||
List<String> models = new ArrayList<String>();
|
List<String> models = new ArrayList<String>();
|
||||||
models.add("alfresco/model/dictionaryModel.xml");
|
models.add("alfresco/model/dictionaryModel.xml");
|
||||||
|
@@ -23,10 +23,12 @@ import java.util.Collection;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.alfresco.repo.cache.NullCache;
|
import org.alfresco.repo.cache.NullCache;
|
||||||
|
import org.alfresco.repo.dictionary.CompiledModelsCache;
|
||||||
import org.alfresco.repo.dictionary.CompiledModel;
|
import org.alfresco.repo.dictionary.CompiledModel;
|
||||||
import org.alfresco.repo.dictionary.DictionaryBootstrap;
|
import org.alfresco.repo.dictionary.DictionaryBootstrap;
|
||||||
import org.alfresco.repo.dictionary.DictionaryComponent;
|
import org.alfresco.repo.dictionary.DictionaryComponent;
|
||||||
@@ -38,6 +40,9 @@ import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
|||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.StoreRef;
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.util.ThreadPoolExecutorFactoryBean;
|
||||||
|
import org.alfresco.util.cache.DefaultAsynchronouslyRefreshedCacheRegistry;
|
||||||
|
|
||||||
|
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
@@ -88,7 +93,7 @@ public class MTPolicyComponentTest extends TestCase
|
|||||||
initNamespaceCaches(namespaceDAO);
|
initNamespaceCaches(namespaceDAO);
|
||||||
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
||||||
dictionaryDAO.setTenantService(mockTenantService);
|
dictionaryDAO.setTenantService(mockTenantService);
|
||||||
initDictionaryCaches(dictionaryDAO);
|
initDictionaryCaches(dictionaryDAO, mockTenantService);
|
||||||
|
|
||||||
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
||||||
List<String> bootstrapModels = new ArrayList<String>();
|
List<String> bootstrapModels = new ArrayList<String>();
|
||||||
@@ -110,10 +115,17 @@ public class MTPolicyComponentTest extends TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO)
|
private void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO, TenantService tenantService) throws Exception
|
||||||
{
|
{
|
||||||
// note: unit tested here with null cache
|
CompiledModelsCache compiledModelsCache = new CompiledModelsCache();
|
||||||
dictionaryDAO.setDictionaryRegistryCache(new NullCache());
|
compiledModelsCache.setDictionaryDAO(dictionaryDAO);
|
||||||
|
compiledModelsCache.setTenantService(tenantService);
|
||||||
|
compiledModelsCache.setRegistry(new DefaultAsynchronouslyRefreshedCacheRegistry());
|
||||||
|
ThreadPoolExecutorFactoryBean threadPoolfactory = new ThreadPoolExecutorFactoryBean();
|
||||||
|
threadPoolfactory.afterPropertiesSet();
|
||||||
|
compiledModelsCache.setThreadPoolExecutor((ThreadPoolExecutor) threadPoolfactory.getObject());
|
||||||
|
dictionaryDAO.setDictionaryRegistryCache(compiledModelsCache);
|
||||||
|
dictionaryDAO.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@@ -121,6 +133,7 @@ public class MTPolicyComponentTest extends TestCase
|
|||||||
{
|
{
|
||||||
// note: unit tested here with null cache
|
// note: unit tested here with null cache
|
||||||
namespaceDAO.setNamespaceRegistryCache(new NullCache());
|
namespaceDAO.setNamespaceRegistryCache(new NullCache());
|
||||||
|
namespaceDAO.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testJavaBehaviour()
|
public void testJavaBehaviour()
|
||||||
|
@@ -21,10 +21,12 @@ package org.alfresco.repo.policy;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.alfresco.repo.cache.NullCache;
|
import org.alfresco.repo.cache.NullCache;
|
||||||
|
import org.alfresco.repo.dictionary.CompiledModelsCache;
|
||||||
import org.alfresco.repo.dictionary.DictionaryBootstrap;
|
import org.alfresco.repo.dictionary.DictionaryBootstrap;
|
||||||
import org.alfresco.repo.dictionary.DictionaryComponent;
|
import org.alfresco.repo.dictionary.DictionaryComponent;
|
||||||
import org.alfresco.repo.dictionary.DictionaryDAOImpl;
|
import org.alfresco.repo.dictionary.DictionaryDAOImpl;
|
||||||
@@ -32,6 +34,8 @@ import org.alfresco.repo.dictionary.NamespaceDAOImpl;
|
|||||||
import org.alfresco.repo.tenant.SingleTServiceImpl;
|
import org.alfresco.repo.tenant.SingleTServiceImpl;
|
||||||
import org.alfresco.repo.tenant.TenantService;
|
import org.alfresco.repo.tenant.TenantService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.util.ThreadPoolExecutorFactoryBean;
|
||||||
|
import org.alfresco.util.cache.DefaultAsynchronouslyRefreshedCacheRegistry;
|
||||||
|
|
||||||
|
|
||||||
public class PolicyComponentTest extends TestCase
|
public class PolicyComponentTest extends TestCase
|
||||||
@@ -62,7 +66,7 @@ public class PolicyComponentTest extends TestCase
|
|||||||
initNamespaceCaches(namespaceDAO);
|
initNamespaceCaches(namespaceDAO);
|
||||||
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
DictionaryDAOImpl dictionaryDAO = new DictionaryDAOImpl(namespaceDAO);
|
||||||
dictionaryDAO.setTenantService(tenantService);
|
dictionaryDAO.setTenantService(tenantService);
|
||||||
initDictionaryCaches(dictionaryDAO);
|
initDictionaryCaches(dictionaryDAO, tenantService);
|
||||||
|
|
||||||
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
DictionaryBootstrap bootstrap = new DictionaryBootstrap();
|
||||||
List<String> bootstrapModels = new ArrayList<String>();
|
List<String> bootstrapModels = new ArrayList<String>();
|
||||||
@@ -82,10 +86,17 @@ public class PolicyComponentTest extends TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO)
|
private void initDictionaryCaches(DictionaryDAOImpl dictionaryDAO, TenantService tenantService) throws Exception
|
||||||
{
|
{
|
||||||
// note: unit tested here with null cache
|
CompiledModelsCache compiledModelsCache = new CompiledModelsCache();
|
||||||
dictionaryDAO.setDictionaryRegistryCache(new NullCache());
|
compiledModelsCache.setDictionaryDAO(dictionaryDAO);
|
||||||
|
compiledModelsCache.setTenantService(tenantService);
|
||||||
|
compiledModelsCache.setRegistry(new DefaultAsynchronouslyRefreshedCacheRegistry());
|
||||||
|
ThreadPoolExecutorFactoryBean threadPoolfactory = new ThreadPoolExecutorFactoryBean();
|
||||||
|
threadPoolfactory.afterPropertiesSet();
|
||||||
|
compiledModelsCache.setThreadPoolExecutor((ThreadPoolExecutor) threadPoolfactory.getObject());
|
||||||
|
dictionaryDAO.setDictionaryRegistryCache(compiledModelsCache);
|
||||||
|
dictionaryDAO.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@@ -93,6 +104,7 @@ public class PolicyComponentTest extends TestCase
|
|||||||
{
|
{
|
||||||
// note: unit tested here with null cache
|
// note: unit tested here with null cache
|
||||||
namespaceDAO.setNamespaceRegistryCache(new NullCache());
|
namespaceDAO.setNamespaceRegistryCache(new NullCache());
|
||||||
|
namespaceDAO.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testJavaBehaviour()
|
public void testJavaBehaviour()
|
||||||
|
Reference in New Issue
Block a user