[ https://issues.apache.org/jira/browse/TAP5-2564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15525557#comment-15525557 ]
Eugene Vologzhanin edited comment on TAP5-2564 at 9/27/16 9:11 AM: ------------------------------------------------------------------- Bug affect Tapestry 5.3.8, but not Tapestry 5.4. Other words, Tapestry 5.3.8 have bug, and i write above a fix. Tapestry 5.4 have no AnnotationVisitor, consequently have noy bug. was (Author: jackv...@gmail.com): Bug affect Tapestry 5.3.8, but not Tapestry 5.4 > 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 > Fix For: 5.4 > > > 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)