diff --git a/spring-ws-core/src/main/java/org/springframework/ws/server/MessageDispatcher.java b/spring-ws-core/src/main/java/org/springframework/ws/server/MessageDispatcher.java index 505b5214e..42922fd8d 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/server/MessageDispatcher.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/server/MessageDispatcher.java @@ -403,8 +403,8 @@ private void initEndpointAdapters(ApplicationContext applicationContext) throws Map matchingBeans = BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext, EndpointAdapter.class, true, false); if (!matchingBeans.isEmpty()) { - endpointAdapters = new ArrayList(matchingBeans.values()); - Collections.sort(endpointAdapters, new OrderComparator()); + endpointAdapters = new ArrayList<>(matchingBeans.values()); + endpointAdapters.sort(new OrderComparator()); } else { endpointAdapters = defaultStrategiesHelper.getDefaultStrategies(EndpointAdapter.class, applicationContext); if (logger.isDebugEnabled()) { @@ -425,8 +425,8 @@ private void initEndpointExceptionResolvers(ApplicationContext applicationContex Map matchingBeans = BeanFactoryUtils .beansOfTypeIncludingAncestors(applicationContext, EndpointExceptionResolver.class, true, false); if (!matchingBeans.isEmpty()) { - endpointExceptionResolvers = new ArrayList(matchingBeans.values()); - Collections.sort(endpointExceptionResolvers, new OrderComparator()); + endpointExceptionResolvers = new ArrayList<>(matchingBeans.values()); + endpointExceptionResolvers.sort(new OrderComparator()); } else { endpointExceptionResolvers = defaultStrategiesHelper.getDefaultStrategies(EndpointExceptionResolver.class, applicationContext); @@ -448,8 +448,8 @@ private void initEndpointMappings(ApplicationContext applicationContext) throws Map matchingBeans = BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext, EndpointMapping.class, true, false); if (!matchingBeans.isEmpty()) { - endpointMappings = new ArrayList(matchingBeans.values()); - Collections.sort(endpointMappings, new OrderComparator()); + endpointMappings = new ArrayList<>(matchingBeans.values()); + endpointMappings.sort(new OrderComparator()); } else { endpointMappings = defaultStrategiesHelper.getDefaultStrategies(EndpointMapping.class, applicationContext); if (logger.isDebugEnabled()) { diff --git a/spring-ws-core/src/main/java/org/springframework/ws/support/DefaultStrategiesHelper.java b/spring-ws-core/src/main/java/org/springframework/ws/support/DefaultStrategiesHelper.java index a72e65a71..31a039c49 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/support/DefaultStrategiesHelper.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/support/DefaultStrategiesHelper.java @@ -115,29 +115,27 @@ public List getDefaultStrategies(Class strategyInterface, ApplicationC throws BeanInitializationException { String key = strategyInterface.getName(); try { - List result; String value = defaultStrategies.getProperty(key); - if (value != null) { - String[] classNames = StringUtils.commaDelimitedListToStringArray(value); - result = new ArrayList(classNames.length); - ClassLoader classLoader = null; - if (applicationContext != null) { - classLoader = applicationContext.getClassLoader(); - } - if (classLoader == null) { - classLoader = DefaultStrategiesHelper.class.getClassLoader(); - } - for (String className : classNames) { - Class clazz = (Class) ClassUtils.forName(className, classLoader); - Assert.isTrue(strategyInterface.isAssignableFrom(clazz), - clazz.getName() + " is not a " + strategyInterface.getName()); - T strategy = instantiateBean(clazz, applicationContext); - result.add(strategy); - } - } else { - result = Collections.emptyList(); + if (value == null) { + return Collections.emptyList(); } - Collections.sort(result, new OrderComparator()); + String[] classNames = StringUtils.commaDelimitedListToStringArray(value); + List result = new ArrayList<>(classNames.length); + ClassLoader classLoader = null; + if (applicationContext != null) { + classLoader = applicationContext.getClassLoader(); + } + if (classLoader == null) { + classLoader = DefaultStrategiesHelper.class.getClassLoader(); + } + for (String className : classNames) { + Class clazz = (Class) ClassUtils.forName(className, classLoader); + Assert.isTrue(strategyInterface.isAssignableFrom(clazz), + clazz.getName() + " is not a " + strategyInterface.getName()); + T strategy = instantiateBean(clazz, applicationContext); + result.add(strategy); + } + result.sort(new OrderComparator()); return result; } catch (ClassNotFoundException ex) { throw new BeanInitializationException("Could not find default strategy class for interface [" + key + "]", ex);