diff --git a/core/src/main/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscoverer.java b/core/src/main/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscoverer.java index 877aeec7c2..a4eefe72e6 100644 --- a/core/src/main/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscoverer.java +++ b/core/src/main/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscoverer.java @@ -22,6 +22,7 @@ import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.core.DefaultParameterNameDiscoverer; import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.ParameterNameDiscoverer; import org.springframework.core.PrioritizedParameterNameDiscoverer; @@ -56,11 +57,6 @@ public class DefaultSecurityParameterNameDiscoverer extends private final Log logger = LogFactory.getLog(getClass()); - private static final String DEFAULT_PARAMETER_NAME_DISCOVERER_CLASSNAME = - "org.springframework.core.DefaultParameterNameDiscoverer"; - private static final boolean DEFAULT_PARAM_DISCOVERER_PRESENT = - ClassUtils.isPresent(DEFAULT_PARAMETER_NAME_DISCOVERER_CLASSNAME, DefaultSecurityParameterNameDiscoverer.class.getClassLoader()); - private static final String DATA_PARAM_CLASSNAME = "org.springframework.data.repository.query.Param"; private static final boolean DATA_PARAM_PRESENT = ClassUtils.isPresent(DATA_PARAM_CLASSNAME, DefaultSecurityParameterNameDiscoverer.class.getClassLoader()); @@ -91,22 +87,6 @@ public class DefaultSecurityParameterNameDiscoverer extends } addDiscoverer(new AnnotationParameterNameDiscoverer(annotationClassesToUse)); - - if (DEFAULT_PARAM_DISCOVERER_PRESENT) { - try { - Class paramNameDiscoverClass = (Class) ClassUtils - .forName(DEFAULT_PARAMETER_NAME_DISCOVERER_CLASSNAME, - getClass().getClassLoader()); - addDiscoverer(paramNameDiscoverClass.newInstance()); - } catch (Exception e) { - logger.warn( - "Could not use " - + DEFAULT_PARAMETER_NAME_DISCOVERER_CLASSNAME - + ". Falling back to LocalVariableTableParameterNameDiscoverer.", e); - addDiscoverer(new LocalVariableTableParameterNameDiscoverer()); - } - } else { - addDiscoverer(new LocalVariableTableParameterNameDiscoverer()); - } + addDiscoverer(new DefaultParameterNameDiscoverer()); } } \ No newline at end of file diff --git a/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java b/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java index 52f171f4f4..3d39799778 100644 --- a/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java +++ b/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java @@ -24,6 +24,7 @@ import java.util.Set; import org.junit.Assume; import org.junit.Before; import org.junit.Test; +import org.springframework.core.DefaultParameterNameDiscoverer; import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.ParameterNameDiscoverer; import org.springframework.core.SpringVersion; @@ -46,8 +47,6 @@ public class DefaultSecurityParameterNameDiscovererTests { @Test public void constructorDefault() { - Assume.assumeTrue(SpringVersion.getVersion().startsWith("3.")); - List discoverers = (List) ReflectionTestUtils .getField(discoverer, "parameterNameDiscoverers"); @@ -59,14 +58,11 @@ public class DefaultSecurityParameterNameDiscovererTests { Set annotationsToUse = (Set)ReflectionTestUtils.getField(annotationDisc, "annotationClassesToUse"); assertThat(annotationsToUse).containsOnly(P.class.getName()); - assertThat(discoverers.get(1)).isInstanceOf( - LocalVariableTableParameterNameDiscoverer.class); + assertThat(discoverers.get(1).getClass()).isEqualTo(DefaultParameterNameDiscoverer.class); } @Test public void constructorDiscoverers() { - Assume.assumeTrue(SpringVersion.getVersion().startsWith("3.")); - discoverer = new DefaultSecurityParameterNameDiscoverer(Arrays.asList(new LocalVariableTableParameterNameDiscoverer())); List discoverers = (List) ReflectionTestUtils @@ -82,47 +78,7 @@ public class DefaultSecurityParameterNameDiscovererTests { Set annotationsToUse = (Set)ReflectionTestUtils.getField(annotationDisc, "annotationClassesToUse"); assertThat(annotationsToUse).containsOnly(P.class.getName()); - assertThat(discoverers.get(2)).isInstanceOf( - LocalVariableTableParameterNameDiscoverer.class); - } - - @Test - public void constructorDefaultSpring4() { - Assume.assumeTrue(SpringVersion.getVersion().startsWith("4.")); - - List discoverers = (List) ReflectionTestUtils - .getField(discoverer, "parameterNameDiscoverers"); - - assertThat(discoverers.size()).isEqualTo(2); - - ParameterNameDiscoverer annotationDisc = discoverers.get(0); - assertThat(annotationDisc).isInstanceOf( - AnnotationParameterNameDiscoverer.class); - Set annotationsToUse = (Set)ReflectionTestUtils.getField(annotationDisc, "annotationClassesToUse"); - assertThat(annotationsToUse).containsOnly(P.class.getName()); - - assertThat(discoverers.get(1).getClass().getName()).isEqualTo("org.springframework.core.DefaultParameterNameDiscoverer"); - } - - @Test - public void constructorDiscoverersSpring4() { - Assume.assumeTrue(SpringVersion.getVersion().startsWith("4.")); - - discoverer = new DefaultSecurityParameterNameDiscoverer(Arrays.asList(new LocalVariableTableParameterNameDiscoverer())); - - List discoverers = (List) ReflectionTestUtils - .getField(discoverer, "parameterNameDiscoverers"); - - assertThat(discoverers.size()).isEqualTo(3); - assertThat(discoverers.get(0)).isInstanceOf( - LocalVariableTableParameterNameDiscoverer.class); - - ParameterNameDiscoverer annotationDisc = discoverers.get(1); - assertThat(annotationDisc).isInstanceOf( - AnnotationParameterNameDiscoverer.class); - Set annotationsToUse = (Set)ReflectionTestUtils.getField(annotationDisc, "annotationClassesToUse"); - assertThat(annotationsToUse).containsOnly(P.class.getName()); - - assertThat(discoverers.get(2).getClass().getName()).isEqualTo("org.springframework.core.DefaultParameterNameDiscoverer"); + assertThat(discoverers.get(2).getClass()).isEqualTo +(DefaultParameterNameDiscoverer.class); } } \ No newline at end of file