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

Reply via email to