[
http://issues.ops4j.org/browse/QI-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274#action_13274
]
Niclas Hedhman commented on QI-231:
-----------------------------------
I now have a working version on my local system, where the UsesInstance is
immutable, and the InjectionContext has been 'elevated' higher up in the call
chain, so it can be updated during the UsesInjectionProvider. Not sure if I
should promote this straight into origin/master or try to figure out how to
create a remote branch for Rickard to try it out on his application, to ensure
I didn't break something.
> Cast problems in AssociationDecoratorTest
> -----------------------------------------
>
> Key: QI-231
> URL: http://issues.ops4j.org/browse/QI-231
> Project: Qi4j
> Issue Type: Bug
> Reporter: Niclas Hedhman
> Assignee: Niclas Hedhman
> Priority: Blocker
> Fix For: 1.0
>
>
> It happens intermittently that the AssociationDecoratorTest fails with the
> exception below. This is very worrying to me, as it could be indeterministic
> code somewhere causing it.
> java.lang.IllegalArgumentException: method:
> org.qi4j.api.entity.association.ManyAssociation.add
> delegate: class org.qi4j.runtime.injection.UsesGenericClassTest
> delegateType: java.lang.Class
> arguments:
> java.lang.Integer
> $Proxy84
> at
> org.qi4j.runtime.entity.associations.DecoratorMixin.invoke(DecoratorMixin.java:67)
> at
> org.qi4j.runtime.composite.GenericFragmentInvocationHandler.invoke(GenericFragmentInvocationHandler.java:38)
> at $Proxy85.add(Unknown Source)
> at
> org.qi4j.runtime.entity.associations.AssociationDecoratorTest$EmployeesAuditConcern.add(AssociationDecoratorTest.java:119)
> at
> org.qi4j.runtime.entity.associations.AssociationDecoratorTest$EmployeesAuditConcern.add(AssociationDecoratorTest.java:112)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.qi4j.runtime.composite.TypedModifierInvocationHandler.invoke(TypedModifierInvocationHandler.java:39)
> at
> org.qi4j.runtime.composite.MethodConcernsInstance.invoke(MethodConcernsInstance.java:48)
> at
> org.qi4j.runtime.composite.CompositeMethodInstance.invoke(CompositeMethodInstance.java:59)
> at
> org.qi4j.runtime.composite.TransientInstance.invoke(TransientInstance.java:128)
> at
> org.qi4j.runtime.composite.CompositeMethodModel.invoke(CompositeMethodModel.java:148)
> at
> org.qi4j.runtime.composite.CompositeMethodsModel.invoke(CompositeMethodsModel.java:113)
> at
> org.qi4j.runtime.composite.AbstractCompositeModel.invoke(AbstractCompositeModel.java:115)
> at
> org.qi4j.runtime.composite.TransientInstance.invoke(TransientInstance.java:57)
> at $Proxy81.add(Unknown Source)
> at
> org.qi4j.runtime.entity.associations.AssociationDecoratorTest.testAssociationDecorator(AssociationDecoratorTest.java:71)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
> at
> org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
> at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
> at
> org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
> at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> at
> org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> at
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> at
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> at
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> at
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> at
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
> at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> Caused by: java.lang.IllegalArgumentException: object is not an instance of
> declaring class
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.qi4j.runtime.entity.associations.DecoratorMixin.invoke(DecoratorMixin.java:57)
> ... 44 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.ops4j.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev