[
http://issues.ops4j.org/jira/browse/QI-41?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_11286
]
Sonny Gill commented on QI-41:
------------------------------
A related problem is behaviour of equals when passed an object of a different
type.
For example -
System.out.println( aComposite.equals( "Hello" ));
The current implementation throws a ClassCastException.
> EntityComposite.equals(null) throws NPE
> ---------------------------------------
>
> Key: QI-41
> URL: http://issues.ops4j.org/jira/browse/QI-41
> Project: Qi4j
> Issue Type: Bug
> Components: Core Runtime
> Affects Versions: 0.2
> Reporter: Sonny Gill
> Assignee: Rickard Öberg
>
> EntityComposite.equals(null) i.e. EntityCompositeInstance.onEquals throws NPE
> when passed null as argument.
> It should return false.
> Test -
> ________________________________________________________________________
> import org.qi4j.bootstrap.ApplicationFactory;
> import org.qi4j.bootstrap.AssemblyException;
> import org.qi4j.bootstrap.ModuleAssembly;
> import org.qi4j.bootstrap.SingletonAssembler;
> import org.qi4j.composite.ObjectBuilderFactory;
> import org.qi4j.composite.scope.Structure;
> import org.qi4j.entity.EntityComposite;
> import org.qi4j.entity.UnitOfWork;
> import org.qi4j.entity.UnitOfWorkFactory;
> 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.Module;
> import org.qi4j.structure.Visibility;
> public class TestCase
> {
> public static class Main
> {
> @Structure UnitOfWorkFactory uowf;
> @Structure Module module;
> public Main() throws Exception
> {
> SingletonAssembler assembler = new SingletonAssembler()
> {
> public void assemble( ModuleAssembly module ) throws
> AssemblyException
> {
> module.addServices( UuidIdentityGeneratorService.class,
> MemoryEntityStoreService.class ).
> visibleIn( Visibility.layer );
> module.addObjects( Main.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( Main.class ).injectTo( this );
> UnitOfWork unitOfWork = uowf.newUnitOfWork();
> AComposite aComposite = unitOfWork.newEntityBuilder(
> AComposite.class ).newInstance();
> System.out.println( aComposite.equals( null ));
> }
> public static void main( String[] args ) throws Exception
> {
> new Main();
> }
> }
> interface AComposite extends EntityComposite
> {
> 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