[ 
http://issues.ops4j.org/jira/browse/QI-60?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_11494
 ] 

Sonny Gill commented on QI-60:
------------------------------

I can see why this should not work. No idea what I was thinking when I created 
this issue.
Thanks.

> Exception raised when using a 'State of Composite' object with ObjectBuilder
> ----------------------------------------------------------------------------
>
>                 Key: QI-60
>                 URL: http://issues.ops4j.org/jira/browse/QI-60
>             Project: Qi4j
>          Issue Type: Bug
>          Components: Core Runtime
>            Reporter: Sonny Gill
>            Assignee: Rickard Öberg
>             Fix For: 0.3
>
>
> Stack trace -
> Exception in thread "main" java.lang.IllegalArgumentException: Method does 
> not represent state: public native int java.lang.Object.hashCode()
>       at 
> org.qi4j.runtime.structure.CompositeBuilderImpl$StateInvocationHandler.invoke(CompositeBuilderImpl.java:211)
>       at org.$Proxy9.hashCode(Unknown Source)
>       at java.util.HashMap.put(HashMap.java:418)
>       at java.util.HashSet.add(HashSet.java:194)
>       at 
> org.qi4j.runtime.structure.ObjectBuilderImpl.use(ObjectBuilderImpl.java:48)
>       at org.TestCase.<init>(TestCase.java:50)
>       at org.TestCase.main(TestCase.java:57)
> Test case -
> ----------------------------------------------------------------------------------------------------------------------------------
> import org.qi4j.bootstrap.ApplicationFactory;
> import org.qi4j.bootstrap.AssemblyException;
> import org.qi4j.bootstrap.ModuleAssembly;
> import org.qi4j.bootstrap.SingletonAssembler;
> import org.qi4j.composite.Composite;
> import org.qi4j.composite.CompositeBuilderFactory;
> import org.qi4j.composite.ObjectBuilder;
> import org.qi4j.composite.ObjectBuilderFactory;
> import org.qi4j.composite.scope.Structure;
> import org.qi4j.composite.scope.Uses;
> import org.qi4j.entity.memory.MemoryEntityStoreService;
> import org.qi4j.property.Property;
> import org.qi4j.runtime.structure.ApplicationInstance;
> import org.qi4j.spi.entity.UuidIdentityGeneratorService;
> import org.qi4j.structure.Visibility;
> public class TestCase
> {
>     @Structure CompositeBuilderFactory cbf;
>     @Structure ObjectBuilderFactory obf;
>     public TestCase() throws Exception
>     {
>         SingletonAssembler assembler = new SingletonAssembler()
>         {
>             public void assemble( ModuleAssembly module ) throws 
> AssemblyException
>             {
>                 module.addServices( UuidIdentityGeneratorService.class, 
> MemoryEntityStoreService.class ).
>                     visibleIn( Visibility.layer );
>                 module.addObjects( TestCase.class, CompositeUser.class );
>                 module.addComposites( AComposite.class );
>             }
>         };
>         final ApplicationInstance application = new 
> ApplicationFactory().newApplication(assembler).
>             newApplicationInstance( "Test" );
>         application.activate();
>         ObjectBuilderFactory obf = application.getLayerInstances().get( 0 
> ).getModuleInstances().
>             get( 0 ).getStructureContext().getObjectBuilderFactory();
>         obf.newObjectBuilder( TestCase.class ).injectTo( this );
>         AComposite aComposite = cbf.newCompositeBuilder( AComposite.class 
> ).stateOfComposite();
>         ObjectBuilder<CompositeUser> builder = obf.newObjectBuilder( 
> CompositeUser.class );
>         builder.use( aComposite );
>         builder.newInstance();
>     }
>     public static void main( String[] args ) throws Exception
>     {
>         new TestCase();
>     }
>     public static class CompositeUser
>     {
>         @Uses AComposite composite;
>         public CompositeUser()
>         {
>         }
>     }
>     static interface AComposite extends Composite
>     {
>         Property<String> name();
>     }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.ops4j.org/jira/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

Reply via email to