Add suffix dot on prefix only if necessary
Closes gh-3787
This commit is contained in:
@@ -45,6 +45,7 @@ import org.springframework.validation.DataBinder;
|
||||
*
|
||||
* @author Dave Syer
|
||||
* @author Phillip Webb
|
||||
* @author Stephane Nicoll
|
||||
* @see RelaxedNames
|
||||
*/
|
||||
public class RelaxedDataBinder extends DataBinder {
|
||||
@@ -73,7 +74,14 @@ public class RelaxedDataBinder extends DataBinder {
|
||||
public RelaxedDataBinder(Object target, String namePrefix) {
|
||||
super(wrapTarget(target), (StringUtils.hasLength(namePrefix) ? namePrefix
|
||||
: DEFAULT_OBJECT_NAME));
|
||||
this.namePrefix = (StringUtils.hasLength(namePrefix) ? namePrefix + "." : null);
|
||||
this.namePrefix = cleanNamePrefix(namePrefix);
|
||||
}
|
||||
|
||||
private static String cleanNamePrefix(String namePrefix) {
|
||||
if (!StringUtils.hasLength(namePrefix)) {
|
||||
return null;
|
||||
}
|
||||
return (namePrefix.endsWith(".") ? namePrefix : namePrefix + ".");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -95,6 +95,13 @@ public class RelaxedDataBinderTests {
|
||||
assertEquals("bar", target.getFoo());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBindStringWithPrefixDotSuffix() throws Exception {
|
||||
VanillaTarget target = new VanillaTarget();
|
||||
bind(target, "some.test.foo: bar", "some.test.");
|
||||
assertEquals("bar", target.getFoo());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBindFromEnvironmentStyleWithPrefix() throws Exception {
|
||||
VanillaTarget target = new VanillaTarget();
|
||||
|
||||
Reference in New Issue
Block a user