mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-07 18:25:23 +00:00
Fixes for ALFCOM-2942 (after the addition of subsystems etc in 3.2)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14530 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
parent
8343b2a642
commit
dc74e02dfb
@ -34,8 +34,9 @@ import org.aopalliance.intercept.MethodInvocation;
|
|||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
|
import org.springframework.beans.factory.BeanFactory;
|
||||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
import org.springframework.beans.factory.BeanFactoryAware;
|
||||||
|
import org.springframework.beans.factory.ListableBeanFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Identify public services by method invocation. Look ups are cached on a thread local as they are quite expensive. All public service names end with "Service" and start with
|
* Identify public services by method invocation. Look ups are cached on a thread local as they are quite expensive. All public service names end with "Service" and start with
|
||||||
@ -43,24 +44,28 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|||||||
*
|
*
|
||||||
* @author Andy Hind
|
* @author Andy Hind
|
||||||
*/
|
*/
|
||||||
public class PublicServiceIdentifierImpl implements PublicServiceIdentifier, BeanFactoryPostProcessor
|
public class PublicServiceIdentifierImpl implements PublicServiceIdentifier, BeanFactoryAware
|
||||||
{
|
{
|
||||||
private static Log s_logger = LogFactory.getLog(PublicServiceIdentifierImpl.class);
|
private static Log s_logger = LogFactory.getLog(PublicServiceIdentifierImpl.class);
|
||||||
|
|
||||||
private static ThreadLocal<HashMap<Method, String>> methodToServiceMap = new ThreadLocal<HashMap<Method, String>>();
|
private static ThreadLocal<HashMap<Method, String>> methodToServiceMap = new ThreadLocal<HashMap<Method, String>>();
|
||||||
|
|
||||||
private ConfigurableListableBeanFactory beanFactory;
|
private ListableBeanFactory beanFactory;
|
||||||
|
|
||||||
public PublicServiceIdentifierImpl()
|
public PublicServiceIdentifierImpl()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
|
|
||||||
|
|
||||||
|
public void setBeanFactory(BeanFactory beanFactory) throws BeansException
|
||||||
{
|
{
|
||||||
this.beanFactory = beanFactory;
|
this.beanFactory = (ListableBeanFactory)beanFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public String getPublicServiceName(MethodInvocation mi)
|
public String getPublicServiceName(MethodInvocation mi)
|
||||||
{
|
{
|
||||||
return getServiceName(mi);
|
return getServiceName(mi);
|
||||||
|
@ -25,14 +25,14 @@
|
|||||||
package org.alfresco.repo.search.impl.lucene.fts;
|
package org.alfresco.repo.search.impl.lucene.fts;
|
||||||
|
|
||||||
import org.alfresco.service.cmr.repository.StoreRef;
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
|
import org.springframework.beans.factory.BeanFactoryAware;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API for full text search indexing in the background
|
* API for full text search indexing in the background
|
||||||
*
|
*
|
||||||
* @author andyh
|
* @author andyh
|
||||||
*/
|
*/
|
||||||
public interface FullTextSearchIndexer extends BeanFactoryPostProcessor
|
public interface FullTextSearchIndexer extends BeanFactoryAware
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Mark a store as dirty, requiring a background index update to fix it up.
|
* Mark a store as dirty, requiring a background index update to fix it up.
|
||||||
|
@ -34,6 +34,8 @@ import org.alfresco.repo.search.IndexerAndSearcher;
|
|||||||
import org.alfresco.repo.search.SupportsBackgroundIndexing;
|
import org.alfresco.repo.search.SupportsBackgroundIndexing;
|
||||||
import org.alfresco.service.cmr.repository.StoreRef;
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
|
import org.springframework.beans.factory.BeanFactory;
|
||||||
|
import org.springframework.beans.factory.ListableBeanFactory;
|
||||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
@ -243,10 +245,13 @@ public class FullTextSearchIndexerImpl implements FTSIndexerAware, FullTextSearc
|
|||||||
ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml");
|
ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
|
|
||||||
|
public void setBeanFactory(BeanFactory beanFactory) throws BeansException
|
||||||
{
|
{
|
||||||
|
ListableBeanFactory listableBeanFactory = (ListableBeanFactory)beanFactory;
|
||||||
|
|
||||||
// Find bean implementaing SupportsBackgroundIndexing and register
|
// Find bean implementaing SupportsBackgroundIndexing and register
|
||||||
for(Object bgindexable : beanFactory.getBeansOfType(SupportsBackgroundIndexing.class).values())
|
for(Object bgindexable : listableBeanFactory.getBeansOfType(SupportsBackgroundIndexing.class).values())
|
||||||
{
|
{
|
||||||
if(bgindexable instanceof SupportsBackgroundIndexing)
|
if(bgindexable instanceof SupportsBackgroundIndexing)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user