Seam and Multi-dimensional-Arrays
steffi.stephanie.stroka.salzburgresearch.at Sep 9, 2008 5:35 PMHello!
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