Changeset 3939 for trunk/pfixcore
- Timestamp:
- 11/21/08 14:20:13 (2 months ago)
- Files:
-
- trunk/pfixcore/ChangeLog (modified) (1 diff)
- trunk/pfixcore/projects/sample1/conf/spring.xml (modified) (2 diffs)
- trunk/pfixcore/src/org/pustefixframework/container/spring/beans/AnnotationBeanDefinitionPostProcessor.java (modified) (3 diffs)
- trunk/pfixcore/src/org/pustefixframework/container/spring/http/PustefixHandlerMapping.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/pfixcore/ChangeLog
r3938 r3939 1 2008-11-21 Martin Leidig <mleidig@schlund.de> 2 3 Fixed issues with abstract bean definitions containing no class 4 declaration and leading to NPEs. 5 6 * src/org/pustefixframework/container/spring/beans/AnnotationBeanDefinitionPostProcessor.java 7 * src/org/pustefixframework/container/spring/http/PustefixHandlerMapping.java 8 * projects/sample1/conf/spring.xml 9 1 10 2008-11-21 Martin Leidig <mleidig@schlund.de> 2 11 trunk/pfixcore/projects/sample1/conf/spring.xml
r3926 r3939 9 9 <context:annotation-config/> 10 10 11 <bean id="testdata" class="de.schlund.pfixcore.example.TestData" scope="session" >11 <bean id="testdata" class="de.schlund.pfixcore.example.TestData" scope="session" parent="testdata_base"> 12 12 <aop:scoped-proxy/> 13 <property name="text" value="${testdata.defaulttext}"/>14 13 <property name="data" ref="${ref.testdata}"/> 15 14 </bean> … … 21 20 <bean id="global_testdata_prod" class="de.schlund.pfixcore.example.TestData"> 22 21 <property name="text" value="baz"/> 22 </bean> 23 24 <bean id="testdata_base" abstract="true"> 25 <property name="text" value="${testdata.defaulttext}"/> 23 26 </bean> 24 27 trunk/pfixcore/src/org/pustefixframework/container/spring/beans/AnnotationBeanDefinitionPostProcessor.java
r3929 r3939 86 86 for (String beanName : beanFactory.getBeanDefinitionNames()) { 87 87 BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); 88 if ( beanDefinition.getBeanClassName().equals("org.springframework.aop.scope.ScopedProxyFactoryBean")) {88 if (!beanDefinition.isAbstract() && beanDefinition.getBeanClassName().equals("org.springframework.aop.scope.ScopedProxyFactoryBean")) { 89 89 PropertyValue value = beanDefinition.getPropertyValues().getPropertyValue("targetBeanName"); 90 90 if (value != null) { … … 106 106 */ 107 107 private void processBeanDefinition(String beanName, BeanDefinition beanDefinition, ConfigurableListableBeanFactory beanFactory) { 108 if(beanDefinition.isAbstract()) return; 108 109 ClassLoader beanClassLoader = getClassLoader(beanFactory); 109 110 Class<?> beanClass; … … 206 207 } 207 208 BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); 209 if(beanDefinition.isAbstract()) continue; 208 210 Class<?> beanClass; 209 211 try { trunk/pfixcore/src/org/pustefixframework/container/spring/http/PustefixHandlerMapping.java
r3868 r3939 51 51 ApplicationContext applicationContext = getApplicationContext(); 52 52 for (String beanName : applicationContext.getBeanDefinitionNames()) { 53 if (HandlerInterceptor.class.isAssignableFrom(applicationContext.getType(beanName)) 54 || WebRequestInterceptor.class.isAssignableFrom(applicationContext.getType(beanName))) { 55 // Ignore scoped beans - there should be a scoped proxy that 56 // will be used instead. 57 if (!applicationContext.isPrototype(beanName) 58 && !applicationContext.isSingleton(beanName)) { 59 continue; 60 } 61 Object bean = applicationContext.getBean(beanName); 62 if (!interceptors.contains(bean)) { 63 interceptors.add(bean); 53 Class clazz = applicationContext.getType(beanName); 54 if(clazz != null) { 55 if (HandlerInterceptor.class.isAssignableFrom(clazz) 56 || WebRequestInterceptor.class.isAssignableFrom(clazz)) { 57 // Ignore scoped beans - there should be a scoped proxy that 58 // will be used instead. 59 if (!applicationContext.isPrototype(beanName) 60 && !applicationContext.isSingleton(beanName)) { 61 continue; 62 } 63 Object bean = applicationContext.getBean(beanName); 64 if (!interceptors.contains(bean)) { 65 interceptors.add(bean); 66 } 64 67 } 65 68 }
