2 Replies Latest reply on Nov 10, 2011 12:57 PM by pnigam

    Seam and Multi-dimensional-Arrays

    steffi.stephanie.stroka.salzburgresearch.at

      Hello!


      I'm not sure if the problem that I have can be solved by myself, because it seams to be a bug of Seam. But anyway, perhaps someone can help me get along with the following problem:


      I have this method defined in an EntityBean:



      private int[][] LCS( List<String> original, List<String> modified ) { ... }




      When I try to run a TestNG SeamTest I get the following error before the test starts:



      ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=persistence.units:jar=test-build.jar,unitName=KiWi state=Create
      java.lang.IllegalArgumentException: No PropertyTypeExtractor available for type void 
           at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.toXType(JavaReflectionManager.java:164)
           at org.hibernate.annotations.common.reflection.java.JavaXMethod.create(JavaXMethod.java:18)
           at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.getXMethod(JavaReflectionManager.java:128)
           at org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredMethods(JavaXClass.java:114)



      It was caused because of the return type of the method above.
      After searching for the Exception-Information-Text I figured out that the problem may be caused by the following method in the JavaXFactory class:



      public JavaXType toXType(TypeEnvironment context, Type propType) {
                Type boundType = toApproximatingEnvironment( context ).bind( propType );
                if ( TypeUtils.isArray( boundType ) )
                     return new JavaXArrayType( propType, context, this );
                if ( TypeUtils.isCollection( boundType ) )
                     return new JavaXCollectionType( propType, context, this );
                if ( TypeUtils.isSimple( boundType ) )
                     return new JavaXSimpleType( propType, context, this );
                throw new IllegalArgumentException( "No PropertyTypeExtractor available for type void ");
           }



      The full class can be found here:


      Does anyone now how I can solve my problem? Is it related to hibernate or Seam?


      Thanks a lot! Steffi