0 Replies Latest reply on Jun 4, 2009 7:05 PM by dodo.phoenix

    Bijection @In@Out with qualified names

    dodo.phoenix

      Hi there,
      from time to time I'm facing a strange behavior with @In @Out and qualified names.


      I'm often using component/field names like these.



      @Name("com.foo.bar")
      class someClass{
      
        @Out(value="com.foo.bar_hint",required=false)
        private String hint
      
        @Out(value="com.foo.bar_theObject",required=false)
        private Object o;
      
      }


      I've experienced that the bijection doesn't work sometimes with these names.
      The outjected object is sometimes not available but often (after working on some other parts of code) the problem disappears automatically.
      For now I've never checked out what the problem was in detail.
      But now I've got this behavior in a test case by accident.
      If i use a qualified name like'com.foo.bar_theObject' for the outjection i get an exception like


      java.lang.AssertionError: javax.el.PropertyNotFoundException: Property 'bar_theObject' not found on type org.jboss.seam.Namespace
           at org.jboss.seam.mock.AbstractSeamTest$Request.onException(AbstractSeamTest.java:455)
           at org.jboss.seam.mock.AbstractSeamTest$Request$2.doFilter(AbstractSeamTest.java:504)
      ...
      Caused by: javax.el.PropertyNotFoundException: Property 'bar_theObject' not found on type org.jboss.seam.Namespace
           at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
           at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
      ...
      
      



      If I change the name to 'foo_bar' my test runs without errors. Changing the name back to 'com.foo.bar_theObject' causing the test to break with the exception.
      The access to the 'com.foo.bar_hint' variable works the whole time.
      I've made sure that there is no other object named like com.foo.bar in my app.
      So i would like to know if there are any limitations/conventions when naming bijected fields.


      If helpful I'm using Seam2.1.1.GA on JBoss5.0.1GA