Package org.jboss.seam.test.integration

Source Code of org.jboss.seam.test.integration.NamespaceTest$FooFactory$Foo

package org.jboss.seam.test.integration;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.core.Init;
import org.jboss.seam.mock.SeamTest;
import org.testng.annotations.Test;

public class NamespaceTest
    extends SeamTest
{
    @Override
    protected void startJbossEmbeddedIfNecessary()
          throws org.jboss.deployers.spi.DeploymentException,
                 java.io.IOException
    {
       // don't deploy  
    }
   
   
    @Test
    public void nameSpaceComponent()
        throws Exception
    {
        new ComponentTest() {
            @Override
            protected void testComponents() throws Exception {
                assert getValue("#{namespaceTest.fooFactory}") != null;
            }
        }.run();
    }

    @Test
    public void nameSpaceFactory()
        throws Exception
    {
        new ComponentTest() {
            @Override
            protected void testComponents() throws Exception {
                assert getValue("#{namespaceTest.ns1.factory}") != null;
            }
        }.run();
    }
   

    @Test
    public void namespaceOutjection()
        throws Exception
    {
        new ComponentTest() {
            @Override
            protected void testComponents() throws Exception {
                FooFactory factory = (FooFactory) getValue("#{namespaceTest.fooFactory}");
                factory.someMethod();
                assert getValue("#{namespaceTest.ns2.outject}") != null;
            }
        }.run();
    }

   
    @Test
    public void factoryMethodExpression()
        throws Exception
    {
        new ComponentTest() {
            @Override
            protected void testComponents() throws Exception {
                Init init = Init.instance();
                init.addFactoryMethodExpression("namespaceTest.ns3.factory", "#{namespaceTest.fooFactory.createFoo}", ScopeType.SESSION);
               
                assert getValue("#{namespaceTest.ns3.factory}") != null;
            }
        }.run();
    }
   
    @Test
    public void factoryValueExpression()
        throws Exception
    {
        new ComponentTest() {
            @Override
            protected void testComponents() throws Exception {
                Init init = Init.instance();
                init.addFactoryValueExpression("namespaceTest.ns4.factory", "#{namespaceTest.fooFactory.createFoo()}", ScopeType.SESSION);
               
                assert getValue("#{namespaceTest.ns4.factory}") != null;
            }
        }.run();
    }


    @Name("namespaceTest.fooFactory")
    static public class FooFactory {
        public class Foo {}
       
        @Factory("namespaceTest.ns1.factory")
        public Foo createFoo() {
            return new Foo();
        }       

        @Out("namespaceTest.ns2.outject")
        public Foo outjectFoo() {
            return new Foo();
        }
       
        public void someMethod() {
        }
    }
   


}
TOP

Related Classes of org.jboss.seam.test.integration.NamespaceTest$FooFactory$Foo

TOP
Copyright © 2018 www.massapi.com. 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.