[ https://issues.apache.org/jira/browse/TAP5-2564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eugene Vologzhanin updated TAP5-2564: ------------------------------------- Description: class org.apache.tapestry5.ioc.internal.services.AnnotationMemberValueVisitor Line #64: final Object result = method.invoke(value); If method return boolean, result wil be *java.lang.Boolean* not *boolean*. In this case in rutime will be Caused by: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Enum. I fix with: {code} MemberValue memberValue; if (method.getReturnType().isPrimitive()) { memberValue = Annotation.createMemberValue(this.constPool, this.classPool.get(method.getReturnType().getName())); } else { memberValue = Annotation.createMemberValue(this.constPool, this.classPool.get(result.getClass().getName())); } {code} was: class org.apache.tapestry5.ioc.internal.services.AnnotationMemberValueVisitor Line #64: final Object result = method.invoke(value); If method return boolean, result wil be *strong*java.lang.Boolean*strong* not *strong*boolean*strong*. In this case in rutime will be Caused by: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Enum. I fix with: {code} MemberValue memberValue; if (method.getReturnType().isPrimitive()) { memberValue = Annotation.createMemberValue(this.constPool, this.classPool.get(method.getReturnType().getName())); } else { memberValue = Annotation.createMemberValue(this.constPool, this.classPool.get(result.getClass().getName())); } {code} > Unwanted auto-boxing while annotation visiting > ----------------------------------------------- > > Key: TAP5-2564 > URL: https://issues.apache.org/jira/browse/TAP5-2564 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-ioc > Affects Versions: 5.3.8 > Reporter: Eugene Vologzhanin > > class org.apache.tapestry5.ioc.internal.services.AnnotationMemberValueVisitor > Line #64: final Object result = method.invoke(value); > If method return boolean, result wil be *java.lang.Boolean* not *boolean*. > In this case in rutime will be Caused by: java.lang.ClassCastException: > java.lang.Boolean cannot be cast to java.lang.Enum. > I fix with: > {code} > MemberValue memberValue; > if (method.getReturnType().isPrimitive()) { > memberValue = Annotation.createMemberValue(this.constPool, > > this.classPool.get(method.getReturnType().getName())); > } else { > memberValue = Annotation.createMemberValue(this.constPool, > this.classPool.get(result.getClass().getName())); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)