Package org.qi4j.bootstrap

Examples of org.qi4j.bootstrap.SingletonAssembler


public class ValueComposite2Test
{
    @Test
    public void testServiceAndStructureInjectionsAllowedInValueComposite()
    {
        SingletonAssembler app = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.values( SomeValue.class );
                module.services( DummyService.class );
            }
        };
        ValueBuilder<Some> builder = app.module().newValueBuilder( Some.class );
        Some prototype = builder.prototype();
        Property<String> otherProperty = prototype.other();
        otherProperty.set( "Abc" );
        Some value = builder.newInstance();
        Assert.assertEquals( value.other().get(), "Abc" );
View Full Code Here


    }

    @Test( expected = InvalidValueCompositeException.class )
    public void testNoUsesAllowedInValueComposite()
    {
        new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.values( SomeValue2.class );
View Full Code Here

{
    @Test
    public void whenInvocationInjectionWithMethodWhenInjectedThenInjectMethod()
        throws Exception
    {
        SingletonAssembler assembly = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.transients( MyComposite.class );
            }
        };

        MyComposite composite = assembly.module().newTransient( MyComposite.class );

        composite.doStuff();
        composite.doStuff();
        composite.doStuff2();
        composite.doStuff3();
View Full Code Here

    @Test
    public void givenSuccessPassivationWhenPassivatingExpectNoExceptions()
        throws Exception
    {
        SingletonAssembler assembly = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.addServices( SuccessDataService.class );
                module.addServices( SuccessDataService.class );
            }
        };

        Iterable<ServiceReference<DataAccess>> iterable = assembly.module().findServices( DataAccess.class );
        for( ServiceReference<DataAccess> service : iterable )
        {
            assertTrue( "Service should not be Active before accessed", !service.isActive() );
            assertTrue( service.get().data().activated );
            assertTrue( "Service should be Active after access.", service.isActive() );
        }
        assembly.application().passivate();
    }
View Full Code Here

    @Test
    public void givenMixedSuccessFailurePassivationWhenPassivatingExpectAllPassivateMethodsToBeCalled()
        throws Exception
    {
        SingletonAssembler assembly = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.addServices( SuccessDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( FailingDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( FailingDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( FailingDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( SuccessDataService.class );
                module.addServices( FailingDataService.class );
            }
        };

        ArrayList<Data> datas = new ArrayList<Data>();

        Iterable<ServiceReference<DataAccess>> iterable = assembly.module().findServices( DataAccess.class );
        for( ServiceReference<DataAccess> service : iterable )
        {
            assertTrue( "Service should not be Active before accessed", !service.isActive() );
            Data data = service.get().data();
            if( SuccessDataService.class.isInstance( service.get() ) )
            {
                // Collect the expected successes.
                datas.add( data );
            }
            assertTrue( data.activated );
            assertTrue( "Service should be Active after access.", service.isActive() );
        }
        try
        {
            assembly.application().passivate();
            fail( "PassivationException should have been thrown." );
        }
        catch( PassivationException e )
        {
            // Expected
View Full Code Here

    @Test
    public void givenFailingPassivationWhenPassivatingExpectSingleExceptionToBubbleUp()
        throws Exception
    {
        SingletonAssembler assembly = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.addServices( FailingDataService.class );
            }
        };

        ServiceReference<DataAccess> service = assembly.module().findService( DataAccess.class );
        assertTrue( "Service should not be Active before accessed", !service.isActive() );
        assertTrue( service.get().data().activated );
        assertTrue( "Service should be Active after access.", service.isActive() );

        try
        {
            assembly.application().passivate();
            fail( "Exception should have been thrown." );
        }
        catch( IllegalStateException e )
        {
            // Expected
View Full Code Here

    @Test
    public void givenMultipleFailingPassivationWhenPassivatingExpectPassivationExceptionToBubbleUp()
        throws Exception
    {
        SingletonAssembler assembly = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
                module.addServices( FailingDataService.class );
                module.addServices( FailingDataService.class );
            }
        };

        Iterable<ServiceReference<DataAccess>> iterable = assembly.module().findServices( DataAccess.class );
        for( ServiceReference<DataAccess> service : iterable )
        {
            assertTrue( "Service should not be Active before accessed", !service.isActive() );
            assertTrue( service.get().data().activated );
            assertTrue( "Service should be Active after access.", service.isActive() );
        }
        try
        {
            assembly.application().passivate();
            fail( "Exception should have been thrown." );
        }
        catch( PassivationException e )
        {
            // Expected
View Full Code Here

     */
    @Test( expected = NoSuchCompositeException.class )
    public void newBuilderForUnregisteredComposite()
        throws Exception
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
            }
        };
        assembler.module().newTransientBuilder( AnyComposite.class );
    }
View Full Code Here

     */
    @Test( expected = NullArgumentException.class )
    public void newBuilderForNullType()
        throws Exception
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
            }
        };
        assembler.module().newTransientBuilder( null );
    }
View Full Code Here

     */
    @Test( expected = NullArgumentException.class )
    public void newInstanceForNullType()
        throws Exception
    {
        SingletonAssembler assembler = new SingletonAssembler()
        {
            public void assemble( ModuleAssembly module )
                throws AssemblyException
            {
            }
        };
        assembler.module().newTransient( null );
    }
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.