Merge branch '1.3.x'

pull/5783/merge
Stephane Nicoll 9 years ago
commit 6fe9177f0d

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -110,14 +110,16 @@ class TypeElementMembers {
private boolean isGetter(ExecutableElement method) {
String name = method.getSimpleName().toString();
return (name.startsWith("get") || name.startsWith("is"))
return ((name.startsWith("get") && name.length() > 3)
|| (name.startsWith("is") && name.length() > 2))
&& method.getParameters().isEmpty()
&& (TypeKind.VOID != method.getReturnType().getKind());
}
private boolean isSetter(ExecutableElement method) {
final String name = method.getSimpleName().toString();
return name.startsWith("set") && method.getParameters().size() == 1
return (name.startsWith("set") && name.length() > 3)
&& method.getParameters().size() == 1
&& (isSetterReturnType(method));
}

@ -60,6 +60,7 @@ import org.springframework.boot.configurationsample.specific.ExcludedTypesPojo;
import org.springframework.boot.configurationsample.specific.InnerClassAnnotatedGetterConfig;
import org.springframework.boot.configurationsample.specific.InnerClassProperties;
import org.springframework.boot.configurationsample.specific.InnerClassRootConfig;
import org.springframework.boot.configurationsample.specific.InvalidAccessorProperties;
import org.springframework.boot.configurationsample.specific.SimplePojo;
import org.springframework.util.FileCopyUtils;
@ -334,6 +335,13 @@ public class ConfigurationMetadataAnnotationProcessorTests {
assertThat(metadata).isNotEqualTo(Metadata.withProperty("excluded.writer-array"));
}
@Test
public void invalidAccessor() throws IOException {
ConfigurationMetadata metadata = compile(InvalidAccessorProperties.class);
assertThat(metadata).has(Metadata.withGroup("config"));
assertThat(metadata.getItems()).hasSize(1);
}
@Test
public void lombokDataProperties() throws Exception {
ConfigurationMetadata metadata = compile(LombokSimpleDataProperties.class);

@ -0,0 +1,48 @@
/*
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.configurationsample.specific;
import org.springframework.boot.configurationsample.ConfigurationProperties;
/**
* Demonstrates that invalid accessors are ignored.
*
* @author Stephane Nicoll
*/
@ConfigurationProperties(prefix = "config")
public class InvalidAccessorProperties {
private String name;
private boolean flag;
public void set(String name) {
this.name = name;
}
public String get() {
return this.name;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public boolean is() {
return this.flag;
}
}
Loading…
Cancel
Save