Example usage for org.springframework.core.annotation AnnotationAwareOrderComparator INSTANCE

List of usage examples for org.springframework.core.annotation AnnotationAwareOrderComparator INSTANCE

Introduction

In this page you can find the example usage for org.springframework.core.annotation AnnotationAwareOrderComparator INSTANCE.

Prototype

AnnotationAwareOrderComparator INSTANCE

To view the source code for org.springframework.core.annotation AnnotationAwareOrderComparator INSTANCE.

Click Source Link

Document

Shared default instance of AnnotationAwareOrderComparator .

Usage

From source file:by.creepid.docsreporter.context.meta.MetadataFillerChain.java

@PostConstruct
public void init() {
    Collections.sort(fillers, AnnotationAwareOrderComparator.INSTANCE);
}

From source file:fr.mby.portal.coreimpl.auth.BasicAuthenticationManager.java

@PostConstruct
public void init() {
    // Sort the IAuthenticationProvider list by Annotation Order
    Collections.sort(this.internalAuthenticationProviders, AnnotationAwareOrderComparator.INSTANCE);
}

From source file:fr.mby.portal.coreimpl.user.FullUserDetailsResolver.java

@PostConstruct
public void init() {
    // Sort the IPrincipalResolver list by Annotation Order
    Collections.sort(this.principalResolvers, AnnotationAwareOrderComparator.INSTANCE);
}

From source file:playground.app.Application.java

public static HttpHandler createHttpHandler() throws IOException {
    Properties prop = new Properties();
    prop.load(Application.class.getClassLoader().getResourceAsStream("application.properties"));
    String profiles = prop.getProperty("profiles");
    if (profiles != null) {
        System.setProperty("spring.profiles.active", profiles);
    }/*from   w w  w . j  ava  2  s.c  o m*/

    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("playground");

    DispatcherHandler dispatcherHandler = new DispatcherHandler();
    dispatcherHandler.setApplicationContext(context);

    Map<String, WebFilter> beanNameToFilters = context.getBeansOfType(WebFilter.class);
    WebFilter[] filters = beanNameToFilters.values().toArray(new WebFilter[0]);
    Arrays.sort(filters, AnnotationAwareOrderComparator.INSTANCE);

    return WebHttpHandlerBuilder.webHandler(dispatcherHandler)
            .exceptionHandlers(new ResponseStatusExceptionHandler()).filters(filters).build();
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

@Test
public void testGetBeanByTypeWithPriority() throws Exception {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
    RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
    RootBeanDefinition bd2 = new RootBeanDefinition(LowPriorityTestBean.class);
    lbf.registerBeanDefinition("bd1", bd1);
    lbf.registerBeanDefinition("bd2", bd2);
    TestBean bean = lbf.getBean(TestBean.class);
    assertThat(bean.getBeanName(), equalTo("bd1"));
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

@Test
public void testGetBeanByTypeWithMultiplePriority() throws Exception {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
    RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
    RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
    lbf.registerBeanDefinition("bd1", bd1);
    lbf.registerBeanDefinition("bd2", bd2);
    thrown.expect(NoUniqueBeanDefinitionException.class);
    thrown.expectMessage(containsString("Multiple beans found with the same priority"));
    thrown.expectMessage(containsString("5")); // conflicting priority
    lbf.getBean(TestBean.class);
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

@Test
public void testGetBeanByTypeWithPriorityAndNullInstance() throws Exception {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
    RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
    RootBeanDefinition bd2 = new RootBeanDefinition(NullTestBeanFactoryBean.class);
    lbf.registerBeanDefinition("bd1", bd1);
    lbf.registerBeanDefinition("bd2", bd2);
    TestBean bean = lbf.getBean(TestBean.class);
    assertThat(bean.getBeanName(), equalTo("bd1"));
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

@Test
public void testGetBeanByTypePrimaryHasPrecedenceOverPriority() throws Exception {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
    RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
    RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
    bd2.setPrimary(true);//ww w  .j  av a  2s . c o  m
    lbf.registerBeanDefinition("bd1", bd1);
    lbf.registerBeanDefinition("bd2", bd2);
    TestBean bean = lbf.getBean(TestBean.class);
    assertThat(bean.getBeanName(), equalTo("bd2"));
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

@Test
public void testAutowireBeanByTypeWithTwoMatchesAndPriority() {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
    RootBeanDefinition bd = new RootBeanDefinition(HighPriorityTestBean.class);
    RootBeanDefinition bd2 = new RootBeanDefinition(LowPriorityTestBean.class);
    lbf.registerBeanDefinition("test", bd);
    lbf.registerBeanDefinition("spouse", bd2);

    DependenciesBean bean = (DependenciesBean) lbf.autowire(DependenciesBean.class,
            AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
    assertThat(bean.getSpouse(), equalTo(lbf.getBean("test")));
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

@Test
public void testAutowireBeanByTypeWithIdenticalPriorityCandidates() {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
    RootBeanDefinition bd = new RootBeanDefinition(HighPriorityTestBean.class);
    RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
    lbf.registerBeanDefinition("test", bd);
    lbf.registerBeanDefinition("spouse", bd2);

    try {/*from  w w w.j  a va2  s.  com*/
        lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
        fail("Should have thrown UnsatisfiedDependencyException");
    } catch (UnsatisfiedDependencyException ex) {
        // expected
        assertNotNull("Exception should have cause", ex.getCause());
        assertEquals("Wrong cause type", NoUniqueBeanDefinitionException.class, ex.getCause().getClass());
        assertTrue(ex.getMessage().contains("5")); // conflicting priority
    }
}