Alternatives priority

Run
How to run the sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing we need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/cdi/alternatives-priority/
Now we are ready to start testing. You can run all the tests in this sample by executing:
mvn test
Or you can run individual tests by executing one of the following:
mvn test -Dtest=MixedGreetingTestmvn test -Dtest=GreetingTestmvn test -Dtest=ProducerMethodGreetingTest

  • Specifications in use:
    • CDI

    MixedGreetingTest

    Missing a description for the story. Add some javadoc to the TestClass. Show me how!
    Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
    @Deployment
    public static Archive<?> deploy() {
    	return ShrinkWrap.create(JavaArchive.class)
    			.addClasses(Greeting.class, SimpleGreeting.class, FancyGreeting.class)
    			.addAsManifestResource("beans-alternatives.xml", "beans.xml");
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void should_be_ambiguous() throws Exception {
    	Set<Bean<?>> beans = beanManager.getBeans(Greeting.class);
    	assertTrue(beans.size() == 2);
    }

    GreetingTest

    Missing a description for the story. Add some javadoc to the TestClass. Show me how!
    Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
    @Deployment
    public static Archive<?> deploy() {
    	return ShrinkWrap.create(JavaArchive.class)
    			.addClasses(Greeting.class, SimpleGreeting.class, FancyGreeting.class, PriorityGreeting.class)
    			.addAsManifestResource("beans-empty.xml", "beans.xml");
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void should_bean_be_injected() throws Exception {
    	assertThat(bean, is(notNullValue()));
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void should_bean_be_priority() throws Exception {
    	// because it has the highest priority from Priority annotated alternatives
    	assertThat(bean, instanceOf(PriorityGreeting.class));
    }

    ProducerMethodGreetingTest

    Missing a description for the story. Add some javadoc to the TestClass. Show me how!
    Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
    @Deployment
    public static Archive<?> deploy() {
    	return ShrinkWrap.create(JavaArchive.class)
    			.addClasses(Greeting.class, SimpleGreeting.class, FancyGreeting.class, PriorityGreeting.class, ProducerMethodGreeting.class)
    			.addAsManifestResource("beans-empty.xml", "beans.xml");
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void should_bean_be_injected() throws Exception {
    	assertThat(bean, is(notNullValue()));
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void should_bean_be_simple() throws Exception {
    	// because it has the highest priority from Priority annotated alternatives
    	assertThat(bean, instanceOf(SimpleGreeting.class));
    }

    Share the Knowledge

    Find this sample useful? Share on

    There's a lot more about JavaEE to cover. If you're ready to learn more, check out the other available samples.

    Help Improve

    Find a bug in the sample? Something missing? You can fix it by editing the source, making the correction and sending a pull request. Or report the problem to the issue tracker

    Recent Changelog

    • Oct 05, 2014: #252 fixed arquillian configuration for the jobs by John D. Ament
    • Jul 15, 2014: Removed header license. the licensing is now referenced in the license file in the root of the project by Roberto Cortez
    • Mar 20, 2014: Update arquillian.xml cr1 references to final by Aslak Knutsen
    • Dec 30, 2013: Added cdi/alternatives-priority, 3 tests available by Radim Hanus
    • Dec 30, 2013: Added cdi/alternatives-priority, 3 tests available by Radim Hanus
    How to help improve this sample
    The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing you need to do is to get the source by downloading the repository and then go into the samples folder:
    git clone git://github.com/javaee-samples/javaee7-samples.git
    cd javaee7-samples/cdi/alternatives-priority/

    Do the changes as you see fit and send a pull request!

    Good Luck!