List of usage examples for org.springframework.core.annotation AnnotationAwareOrderComparator sort
public static void sort(Object[] array)
From source file:org.wallride.autoconfigure.WallRideDispatcherServlet.java
@Override protected void initStrategies(ApplicationContext context) { super.initStrategies(context); if (this.detectParentHandlerMappings) { this.parentHandlerMappings = null; if (getWebApplicationContext().getParent() != null) { Map<String, HandlerMapping> matchingBeans = BeanFactoryUtils.beansOfTypeIncludingAncestors( getWebApplicationContext().getParent(), HandlerMapping.class, true, false); if (!matchingBeans.isEmpty()) { this.parentHandlerMappings = new ArrayList<>(matchingBeans.values()); AnnotationAwareOrderComparator.sort(this.parentHandlerMappings); }/*from w w w.ja v a 2 s . c om*/ } } }
From source file:ratpack.spring.config.internal.ChainConfigurers.java
public void execute(Chain chain) throws Exception { List<Action<Chain>> delegates = new ArrayList<Action<Chain>>(this.delegates); if (delegates.isEmpty()) { delegates.addAll(ratpackScriptBacking().getHandlerActions()); }/*from w w w . j av a 2 s . c o m*/ if (handlers.size() == 1) { delegates.add(singleHandlerAction()); } else if (delegates.isEmpty()) { delegates.add(singleHandlerAction()); } delegates.add(staticResourcesAction(chain.getLaunchConfig())); AnnotationAwareOrderComparator.sort(delegates); for (Action<Chain> delegate : delegates) { if (!(delegate instanceof ChainConfigurers)) { delegate.execute(chain); } } }
From source file:io.gravitee.common.spring.factory.SpringFactoriesLoader.java
private Collection<? extends T> getSpringFactoriesInstances(Class<T> type, Class<?>[] parameterTypes, Object... args) {// www .j ava 2s. c o m ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); // Use names and ensure unique to protect against duplicates Set<String> names = new LinkedHashSet<>( org.springframework.core.io.support.SpringFactoriesLoader.loadFactoryNames(type, classLoader)); List<T> instances = createSpringFactoriesInstances(type, parameterTypes, classLoader, args, names); AnnotationAwareOrderComparator.sort(instances); return instances; }
From source file:org.wso2.msf4j.spring.MSF4JSpringApplication.java
private <T> Collection<? extends T> getSpringFactoriesInstances(Class<T> type, Class<?>[] parameterTypes, Object... args) {//from w w w.j ava2s .c o m ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); Set<String> names = new LinkedHashSet<>(SpringFactoriesLoader.loadFactoryNames(type, classLoader)); List<T> instances = createSpringFactoriesInstances(type, parameterTypes, classLoader, args, names); AnnotationAwareOrderComparator.sort(instances); return instances; }
From source file:com.haulmont.cuba.gui.config.WindowConfig.java
protected void init() { screens.clear();// w ww .jav a 2 s. co m Map<String, ScreenAgent> agentMap = AppBeans.getAll(ScreenAgent.class); Map<String, ScreenAgent> screenAgents = new LinkedHashMap<>(); List<ScreenAgent> availableAgents = new ArrayList<>(agentMap.values()); AnnotationAwareOrderComparator.sort(availableAgents); for (ScreenAgent screenAgent : availableAgents) { screenAgents.put(screenAgent.getAlias(), screenAgent); } this.activeScreenAgents = screenAgents; String configName = AppContext.getProperty(WINDOW_CONFIG_XML_PROP); StrTokenizer tokenizer = new StrTokenizer(configName); for (String location : tokenizer.getTokenArray()) { Resource resource = resources.getResource(location); if (resource.exists()) { InputStream stream = null; try { stream = resource.getInputStream(); loadConfig(Dom4j.readDocument(stream).getRootElement()); } catch (IOException e) { throw new RuntimeException("Unable to read window config from " + location, e); } finally { IOUtils.closeQuietly(stream); } } else { log.warn("Resource {} not found, ignore it", location); } } }
From source file:org.springframework.aop.framework.ProxyFactoryBean.java
/** * Add all global interceptors and pointcuts. *//*w w w. ja v a2s . c om*/ private void addGlobalAdvisor(ListableBeanFactory beanFactory, String prefix) { String[] globalAdvisorNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(beanFactory, Advisor.class); String[] globalInterceptorNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(beanFactory, Interceptor.class); List<Object> beans = new ArrayList<>(globalAdvisorNames.length + globalInterceptorNames.length); Map<Object, String> names = new HashMap<>(beans.size()); for (String name : globalAdvisorNames) { Object bean = beanFactory.getBean(name); beans.add(bean); names.put(bean, name); } for (String name : globalInterceptorNames) { Object bean = beanFactory.getBean(name); beans.add(bean); names.put(bean, name); } AnnotationAwareOrderComparator.sort(beans); for (Object bean : beans) { String name = names.get(bean); if (name.startsWith(prefix)) { addAdvisorOnChainCreation(bean, name); } } }
From source file:org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.java
private void customize() { if (this.customizers != null) { AnnotationAwareOrderComparator.sort(this.customizers); for (ResourceConfigCustomizer customizer : this.customizers) { customizer.customize(this.config); }//from w w w . java 2 s .co m } }
From source file:org.springframework.boot.context.embedded.ServletContextInitializerBeans.java
ServletContextInitializerBeans(ListableBeanFactory beanFactory) { this.initializers = new LinkedMultiValueMap<Class<?>, ServletContextInitializer>(); addServletContextInitializerBeans(beanFactory); addAdaptableBeans(beanFactory);/*from w w w . j av a 2s . c o m*/ List<ServletContextInitializer> sortedInitializers = new ArrayList<ServletContextInitializer>(); for (Map.Entry<?, List<ServletContextInitializer>> entry : this.initializers.entrySet()) { AnnotationAwareOrderComparator.sort(entry.getValue()); sortedInitializers.addAll(entry.getValue()); } this.sortedList = Collections.unmodifiableList(sortedInitializers); }
From source file:org.springframework.boot.diagnostics.FailureAnalyzers.java
private List<FailureAnalyzer> loadFailureAnalyzers(ClassLoader classLoader) { List<String> analyzerNames = SpringFactoriesLoader.loadFactoryNames(FailureAnalyzer.class, classLoader); List<FailureAnalyzer> analyzers = new ArrayList<FailureAnalyzer>(); for (String analyzerName : analyzerNames) { try {/*from w w w . j a va 2 s. c o m*/ Constructor<?> constructor = ClassUtils.forName(analyzerName, classLoader).getDeclaredConstructor(); ReflectionUtils.makeAccessible(constructor); analyzers.add((FailureAnalyzer) constructor.newInstance()); } catch (Throwable ex) { log.trace("Failed to load " + analyzerName, ex); } } AnnotationAwareOrderComparator.sort(analyzers); return analyzers; }
From source file:org.springframework.boot.SpringApplication.java
@SuppressWarnings("unchecked") private <T> Collection<? extends T> getSpringFactoriesInstances(Class<T> type, Class<?>[] parameterTypes, Object... args) {/*from w ww .j a v a 2 s .c om*/ ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); // Use names and ensure unique to protect against duplicates Set<String> names = new LinkedHashSet<String>(SpringFactoriesLoader.loadFactoryNames(type, classLoader)); List<T> instances = new ArrayList<T>(names.size()); // Create instances from the names for (String name : names) { try { Class<?> instanceClass = ClassUtils.forName(name, classLoader); Assert.isAssignable(type, instanceClass); Constructor<?> constructor = instanceClass.getConstructor(parameterTypes); T instance = (T) constructor.newInstance(args); instances.add(instance); } catch (Throwable ex) { throw new IllegalArgumentException("Cannot instantiate " + type + " : " + name, ex); } } AnnotationAwareOrderComparator.sort(instances); return instances; }