These are the classes that I have

Employee.java

  | package test.injection;
  | 
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Scope;
  | 
  | @Name("employeeBean")
  | @Scope(ScopeType.SESSION)
  | public class Employee {
  |     
  |     private String name;
  |     
  |     @In("#{departmentSpring}")
  |     private Department department;
  | 
  |     public String getName() {
  |             return name;
  |     }
  | 
  |     public void setName(String name) {
  |             this.name = name;
  |     }
  |     
  |     public String addEmployee(){
  |             return "/success.xhtml";
  |     }
  | 
  | }
Department.java

  | package test.injection;
  | 
  | 
  | public class Department {
  |     
  |     private String departmentName;  
  | 
  |     public String getDepartmentName() {
  |             return departmentName;
  |     }
  | 
  |     public void setDepartmentName(String departmentName) {
  |             this.departmentName = departmentName;
  |     }
  | 
  | }
  | 
  | 
InjectionTestNG.java

  | package test.testNG;
  | 
  | import org.jboss.seam.mock.SeamTest;
  | import org.testng.annotations.Test;
  | 
  | public class InjectionTestNG extends SeamTest{
  |     
  |     @Test
  |     public void testInjection() throws Exception {
  |             new FacesRequest(){
  |                     
  |                     @Override
  |                     protected void updateModelValues(){
  |                             setValue("#{employeeBean.name}","MyName");
  |                     }
  |                     
  |                     @Override
  |                     protected void invokeApplication(){
  |                             invokeMethod("#{employeeBean.addEmployee}");
  |                     }
  |                     
  |                     @Override
  |                     protected void renderResponse(){
  |                             assert 
(getValue("#{employeeBean.name}").equals("MyName"));
  |                     }
  |             }.run();
  |     }
  |     
  | 
  | }
  | 
  | 

applicationContext.xml

  | <?xml version="1.0" encoding="UTF-8"?>
  | <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd";>
  | 
  | 
  | <beans>        
  |     <bean id="departmentSpring" class="test.injection.Department" />
  | </beans> 
  | 

And this is the exception stack trace

  | FAILED: testInjection
  | javax.el.ELException: Error writing 'name' on type 
test.injection.Employee_$$_javassist_0
  |     at javax.el.BeanELResolver.setValue(BeanELResolver.java:112)
  |     at javax.el.CompositeELResolver.setValue(CompositeELResolver.java:68)
  |     at com.sun.el.parser.AstValue.setValue(AstValue.java:154)
  |     at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:258)
  |     at 
org.jboss.seam.util.UnifiedELValueBinding.setValue(UnifiedELValueBinding.java:44)
  |     at org.jboss.seam.mock.SeamTest$Request.setValue(SeamTest.java:374)
  |     at 
test.testNG.InjectionTestNG$1.updateModelValues(InjectionTestNG.java:23)
  |     at org.jboss.seam.mock.SeamTest$Request.run(SeamTest.java:476)
  |     at test.testNG.InjectionTestNG.testInjection(InjectionTestNG.java:35)
  | Caused by: javax.el.PropertyNotFoundException: ELResolver cannot handle a 
null base Object with identifier 'departmentSpring'
  |     at com.sun.el.lang.ELSupport.throwUnhandled(ELSupport.java:52)
  |     at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:75)
  |     at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:195)
  |     at 
org.jboss.seam.util.UnifiedELValueBinding.getValue(UnifiedELValueBinding.java:34)
  |     at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:69)
  |     at org.jboss.seam.Component.getValueToInject(Component.java:1877)
  |     at org.jboss.seam.Component.injectAttributes(Component.java:1368)
  |     at org.jboss.seam.Component.inject(Component.java:1195)
  |     at 
org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:151)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:87)
  |     at 
test.injection.Employee_$$_javassist_0.setName(Employee_$$_javassist_0.java)
  |     at javax.el.BeanELResolver.setValue(BeanELResolver.java:108)
  |     ... 30 more
  | ... Removed 26 stack frames
  | 

Thanks !!!

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4095830#4095830

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4095830
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to