List of usage examples for org.springframework.beans.factory.support BeanDefinitionRegistry getClass
@HotSpotIntrinsicCandidate public final native Class<?> getClass();
From source file:org.brushingbits.jnap.persistence.factory.DaoFactoryPostProcessor.java
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { Assert.isAssignable(DefaultListableBeanFactory.class, registry.getClass(), "The DaoFactoryPostProcessor only works within a DefaultListableBeanFactory capable" + "BeanFactory, your BeanDefinitionRegistry is " + registry.getClass()); final DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) registry; // get already defined beans of type Dao final Set<Class<? extends PersistentModel>> alreadyDefinedDaos = new HashSet<Class<? extends PersistentModel>>(); for (String beanName : beanFactory.getBeanNamesForType(Dao.class, true, false)) { Dao<? extends PersistentModel> dao = beanFactory.getBean(beanName, Dao.class); alreadyDefinedDaos.add(dao.getEntityClass()); }//from w w w . jav a 2 s . co m for (String sessionFactoryName : beanFactory.getBeanNamesForType(SessionFactory.class)) { final SessionFactory sessionFactory = beanFactory.getBean(sessionFactoryName, SessionFactory.class); Map<String, ClassMetadata> entitiesMetadata = sessionFactory.getAllClassMetadata(); for (ClassMetadata entityMetadata : entitiesMetadata.values()) { Class<? extends PersistentModel> entityClass = entityMetadata.getMappedClass(EntityMode.POJO); if (entityClass != null && !alreadyDefinedDaos.contains(entityClass)) { String daoName = entityClass.getSimpleName() + "Dao"; daoName = Character.toLowerCase(daoName.charAt(0)) + daoName.substring(1); beanFactory.registerBeanDefinition(daoName, createDaoDefinition(entityClass, sessionFactory)); } } } }
From source file:org.jnap.core.persistence.factory.DaoFactoryBkp.java
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { Assert.isAssignable(DefaultListableBeanFactory.class, registry.getClass(), "The DaoFactory only works within a DefaultListableBeanFactory capable" + "BeanFactory, your BeanDefinitionRegistry is " + registry.getClass()); final DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) registry; // Initialize all SessionFactory beans String[] factoryNames = beanFactory.getBeanNamesForType(EntityManagerFactory.class); Set<EntityManagerFactory> factories = new HashSet<EntityManagerFactory>(factoryNames.length); for (String factoryName : factoryNames) { factories.add(beanFactory.getBean(factoryName, EntityManagerFactory.class)); }/*from w ww . j a va 2s.c om*/ for (EntityManagerFactory factory : factories) { factory.getMetamodel().getEntities(); for (EntityType<?> entityMetadata : factory.getMetamodel().getEntities()) { Class<? extends PersistentModel> entityClass = (Class<? extends PersistentModel>) entityMetadata .getJavaType(); if (entityClass != null && !isDaoDefinedForEntity(beanFactory, entityClass)) { String daoName = buildDaoName(entityClass); beanFactory.registerBeanDefinition(daoName, createDaoDefinition(entityClass, factory)); daoNameCache.put(entityClass, daoName); } } } factories.clear(); factories = null; }
From source file:org.codehaus.griffon.runtime.spring.DefaultRuntimeSpringConfiguration.java
private void removeBeanDefinition(BeanDefinitionRegistry registry, String beanName) { MetaClass mc = GroovySystem.getMetaClassRegistry().getMetaClass(registry.getClass()); if (mc.respondsTo(registry, "removeBeanDefinition").size() > 0) { mc.invokeMethod(registry, "removeBeanDefinition", new Object[] { beanName }); }// w w w. j av a2 s . c o m }
From source file:org.codehaus.groovy.grails.commons.spring.DefaultRuntimeSpringConfiguration.java
private void removeBeanDefinition(BeanDefinitionRegistry registry, String beanName) { MetaClass mc = GroovySystem.getMetaClassRegistry().getMetaClass(registry.getClass()); if (!mc.respondsTo(registry, "removeBeanDefinition").isEmpty()) { mc.invokeMethod(registry, "removeBeanDefinition", new Object[] { beanName }); }//from www . ja v a 2 s . com }