Package org.qi4j.bootstrap

Examples of org.qi4j.bootstrap.SingletonAssembler


    @Test
    public void givenEnablableServiceWhenInjectWithAvailableQualifierThenInjectCorrectly()
        throws ActivationException, AssemblyException
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.objects( TestObject.class );
                module.services( TestServiceComposite2.class );
                module.entities( TestServiceConfiguration.class );

                new EntityTestAssembler().assemble( module );
            }
        };

        TestObject object = assembler.module().newObject( TestObject.class );

        assertThat( "service is unavailable", object.getService(), nullValue() );

        ServiceReference<TestServiceComposite2> serviceRef = assembler.module()
            .findService( TestServiceComposite2.class );
        serviceRef.get().get().enabled().set( true );
        serviceRef.get().save();

        object = assembler.module().newObject( TestObject.class );
        assertThat( "service is available", object.getService(), notNullValue() );
    }
View Full Code Here


    @Test
    public void testApplicationTestModeSet()
        throws ActivationException, AssemblyException
    {
        Application.Mode mode = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.layer().application().setMode( Application.Mode.test );
View Full Code Here

    @Test
    public void testApplicationStagingModeSet()
        throws ActivationException, AssemblyException
    {
        Application.Mode mode = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.layer().application().setMode( Application.Mode.staging );
View Full Code Here

    @Test
    public void testApplicationDevelopmentModeSet()
        throws ActivationException, AssemblyException
    {
        Application.Mode mode = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.layer().application().setMode( Application.Mode.development );
View Full Code Here

    @Test
    public void testApplicationProductionModeSet()
        throws ActivationException, AssemblyException
    {
        Application.Mode mode = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.layer().application().setMode( Application.Mode.production );
View Full Code Here

    @Before
    public void setUp()
        throws UnitOfWorkCompletionException, ActivationException, AssemblyException
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                Iterable<Class<?>> entities = ClassScanner.findClasses( DomainEntity.class );

                for( Class entity : entities )
                {
                    module.entities( entity );
                }

                module.values( ContactsValue.class, ContactValue.class );
                new EntityTestAssembler().assemble( module );
            }
        };
        uow = assembler.module().newUnitOfWork();
        Network.populate( uow, assembler.module() );
        uow.complete();
        uow = assembler.module().newUnitOfWork();
        Network.refresh( uow );
        qbf = assembler.module();
    }
View Full Code Here

    ServiceInvocationPerformanceTest.MyService service;

    public void testInjectService()
        throws Exception
    {
        SingletonAssembler assembly = new SingletonAssembler()
        {
            @Override
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.services( ServiceInvocationPerformanceTest.MyServiceComposite.class );
                module.objects( ServiceInvocationPerformanceTest.class );
            }
        };

        assembly.module().injectTo( this );

        // Warmup
        for( int i = 0; i < 60000; i++ )
        {
            service.test();
View Full Code Here

    @Test
    @Ignore( "Expectations need to be figured out." )
    public void failingBooking()
        throws ActivationException, AssemblyException
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            @Override
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.transients( ShippingServiceTestComposite.class );
            }
        };
        ShippingService shippingService = createMock( ShippingService.class );
        Cargo cargo = createMock( Cargo.class );
        Voyage voyage = createMock( Voyage.class );
        HasSequence sequence = createMock( HasSequence.class );
        expect( shippingService.makeBooking( cargo, voyage ) ).andReturn( -1000 );
        expect( voyage.bookedCargoSize().get() ).andReturn( 0.0 )
            .atLeastOnce();
        expect( cargo.size().get() ).andReturn( 0.0 )
            .atLeastOnce();
        expect( sequence.sequence().get() ).andReturn( 0 )
            .atLeastOnce();
        replay( shippingService, cargo, voyage );
        ShippingServiceTestComposite underTest =
            assembler.module().newTransient( ShippingServiceTestComposite.class );
        underTest.useMock( shippingService ).forClass( ShippingService.class );
        assertThat( "Booking result", underTest.makeBooking( cargo, voyage ), is( equalTo( -1000 ) ) );
        verify( shippingService, cargo, voyage );
    }
View Full Code Here

    @Test
    @Ignore( "Expectations need to be figured out." )
    public void successfulBooking()
        throws ActivationException, AssemblyException
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            @Override
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.transients( ShippingServiceTestComposite.class );
            }
        };
        ShippingService shippingService = createMock( ShippingService.class );
        Cargo cargo = createMock( Cargo.class );
        Voyage voyage = createMock( Voyage.class );
        HasSequence generator = createMock( HasSequence.class );
        Property<Integer> sequence = createMock( Property.class );
        expect( shippingService.makeBooking( cargo, voyage ) ).andReturn( 100 );
        expect( generator.sequence() ).andReturn( sequence ).anyTimes();
        expect( sequence.get() ).andReturn( 1000 );
        replay( shippingService, cargo, voyage, generator, sequence );
        ShippingServiceTestComposite underTest =
            assembler.module().newTransient( ShippingServiceTestComposite.class );
        underTest.useMock( shippingService ).forClass( ShippingService.class );
        underTest.useMock( generator ).forClass( HasSequence.class );
        assertThat( "Booking result", underTest.makeBooking( cargo, voyage ), is( equalTo( 1000 ) ) );
        verify( shippingService, cargo, voyage, generator, sequence );
    }
View Full Code Here

{
    @Test
    public void newInstanceForRegisteredCompositePerformance()
        throws ActivationException, AssemblyException
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            @Override
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.transients( AnyComposite.class );
                module.objects( AnyObject.class );
                module.values( AnyValue.class );
            }
        };
        int loops = 2;
        long t0 = 0;
        {
            for( int i = 0; i < loops; i++ )
            {
                t0 = t0 + testJavaObjectCreationPerformance();
            }
            t0 = t0 / loops;
        }
        long t1 = 0;
        {
            TransientBuilderFactory module = assembler.module();
            for( int i = 0; i < loops; i++ )
            {
                t1 = t1 + testCompositeCreationPerformance( module );
            }
            t1 = t1 / loops;
        }
        long t2 = 0;
        {
            ObjectFactory objectFactory = assembler.module();
            for( int i = 0; i < loops; i++ )
            {
                t2 = t2 + testObjectCreationPerformance( objectFactory );
            }
            t2 = t2 / loops;
        }
        long t3 = 0;
        {
            ValueBuilderFactory valueBuilderFactory = assembler.module();
            for( int i = 0; i < loops; i++ )
            {
                t3 = t3 + testValueCreationPerformance( valueBuilderFactory );
            }
            t3 = t3 / loops;
        }

        long t4 = 0;
        {
            TransientBuilderFactory module = assembler.module();
            for( int i = 0; i < loops; i++ )
            {
                t4 = t4 + testCompositeCreationWithBuilderPerformance( module );
            }
            t4 = t4 / loops;
        }
        long t6 = 0;
        {
            ValueBuilderFactory valueBuilderFactory = assembler.module();
            for( int i = 0; i < loops; i++ )
            {
                t6 = t6 + testValueCreationWithBuilderPerformance( valueBuilderFactory );
            }
            t6 = t6 / loops;
View Full Code Here

TOP

Related Classes of org.qi4j.bootstrap.SingletonAssembler

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.