InjectionUtils contains unreachable code ----------------------------------------
Key: CXF-2303 URL: https://issues.apache.org/jira/browse/CXF-2303 Project: CXF Issue Type: Bug Components: REST Reporter: Andreas Sahlbach During a recent debug session I noticed some IMHO strange code in org/apache/cxf/jaxrs/utils/InjectionUtils.java. While I was debugging an outdated version, the current code in trunk seems to have the same errors. Referring to this version http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java?revision=777126 Here you can find: public static boolean isSupportedCollectionOrArray(Class<?> type) { return List.class.isAssignableFrom(type) || Set.class.isAssignableFrom(type) || SortedSet.class.isAssignableFrom(type) || type.isArray(); } and private static Object injectIntoCollectionOrArray(Class<?> rawType, Type genericType, MultivaluedMap<String, String> values, boolean isbean, boolean decoded, ParameterType pathParam, Message message) { Class<?> type = null; if (List.class.isAssignableFrom(rawType)) { type = ArrayList.class; } else if (Set.class.isAssignableFrom(rawType)) { type = HashSet.class; } else if (SortedSet.class.isAssignableFrom(rawType)) { type = TreeSet.class; } [...] Because Set is a SuperInterface of SortedSet, the boolean of the first example can be simplified and in the second example the proper clause for SortedSet is never reached, because the Set clause is always true for Sets and SortedSets. At least that's what I think. I have no concrete bug though, just wanted to report. :-) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.