Skip to content

Commit 07f3efe

Browse files
committed
Tidy up compiler warnings for generics
1 parent 1c35c89 commit 07f3efe

File tree

3 files changed

+61
-44
lines changed

3 files changed

+61
-44
lines changed

spring-cloud-commons/src/main/java/org/springframework/cloud/client/actuator/FeaturesEndpoint.java

+16-14
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,21 @@
33
import java.util.ArrayList;
44
import java.util.List;
55

6-
import lombok.Value;
7-
86
import org.springframework.beans.BeansException;
97
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
108
import org.springframework.boot.actuate.endpoint.AbstractEndpoint;
119
import org.springframework.boot.context.properties.ConfigurationProperties;
1210
import org.springframework.context.ApplicationContext;
1311
import org.springframework.context.ApplicationContextAware;
1412

13+
import lombok.Value;
14+
1515
/**
1616
* @author Spencer Gibb
1717
*/
1818
@ConfigurationProperties(prefix = "endpoints.features", ignoreUnknownFields = false)
19-
public class FeaturesEndpoint extends AbstractEndpoint<FeaturesEndpoint.Features> implements ApplicationContextAware {
19+
public class FeaturesEndpoint extends AbstractEndpoint<FeaturesEndpoint.Features>
20+
implements ApplicationContextAware {
2021

2122
private final List<HasFeatures> hasFeaturesList;
2223
private ApplicationContext context;
@@ -35,10 +36,10 @@ public void setApplicationContext(ApplicationContext context) throws BeansExcept
3536
public Features invoke() {
3637
Features features = new Features();
3738

38-
for (HasFeatures hasFeatures : hasFeaturesList) {
39-
List<Class> abstractFeatures = hasFeatures.getAbstractFeatures();
39+
for (HasFeatures hasFeatures : this.hasFeaturesList) {
40+
List<Class<?>> abstractFeatures = hasFeatures.getAbstractFeatures();
4041
if (abstractFeatures != null) {
41-
for (Class clazz : abstractFeatures) {
42+
for (Class<?> clazz : abstractFeatures) {
4243
addAbstractFeature(features, clazz);
4344
}
4445
}
@@ -54,23 +55,24 @@ public Features invoke() {
5455
return features;
5556
}
5657

57-
private void addAbstractFeature(Features features, Class type) {
58+
private void addAbstractFeature(Features features, Class<?> type) {
5859
String featureName = type.getSimpleName();
5960
try {
60-
Object bean = context.getBean(type);
61+
Object bean = this.context.getBean(type);
6162
Class<?> beanClass = bean.getClass();
6263
addFeature(features, new NamedFeature(featureName, beanClass));
63-
} catch (NoSuchBeanDefinitionException e) {
64+
}
65+
catch (NoSuchBeanDefinitionException e) {
6466
features.getDisabled().add(featureName);
6567
}
6668
}
6769

6870
private void addFeature(Features features, NamedFeature feature) {
69-
Class<?> type = feature.getType();
70-
features.getEnabled().add(new Feature(feature.getName(),
71-
type.getCanonicalName(),
72-
type.getPackage().getImplementationVersion(),
73-
type.getPackage().getImplementationVendor()));
71+
Class<?> type = feature.getType();
72+
features.getEnabled()
73+
.add(new Feature(feature.getName(), type.getCanonicalName(),
74+
type.getPackage().getImplementationVersion(),
75+
type.getPackage().getImplementationVendor()));
7476
}
7577

7678
@Value
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,26 @@
11
package org.springframework.cloud.client.actuator;
22

3+
import java.util.ArrayList;
34
import java.util.Arrays;
45
import java.util.Collections;
56
import java.util.List;
67

7-
import lombok.Builder;
8-
import lombok.Singular;
9-
import lombok.Value;
10-
118
/**
129
* @author Spencer Gibb
1310
*/
14-
@Value
15-
@Builder
1611
public class HasFeatures {
17-
@Singular
18-
private final List<Class> abstractFeatures;
19-
@Singular
20-
private final List<NamedFeature> namedFeatures;
2112

22-
public static HasFeatures abstractFeatures(Class... abstractFeatures) {
13+
private final List<Class<?>> abstractFeatures = new ArrayList<>();
14+
15+
private final List<NamedFeature> namedFeatures = new ArrayList<>();
16+
17+
public static HasFeatures abstractFeatures(Class<?>... abstractFeatures) {
2318
return new HasFeatures(Arrays.asList(abstractFeatures),
2419
Collections.<NamedFeature> emptyList());
2520
}
2621

2722
public static HasFeatures namedFeatures(NamedFeature... namedFeatures) {
28-
return new HasFeatures(Collections.<Class> emptyList(),
23+
return new HasFeatures(Collections.<Class<?>> emptyList(),
2924
Arrays.asList(namedFeatures));
3025
}
3126

@@ -38,4 +33,18 @@ public static HasFeatures namedFeatures(String name1, Class<?> type1, String nam
3833
return namedFeatures(new NamedFeature(name1, type1),
3934
new NamedFeature(name2, type2));
4035
}
36+
37+
public HasFeatures(List<Class<?>> abstractFeatures,
38+
List<NamedFeature> namedFeatures) {
39+
this.abstractFeatures.addAll(abstractFeatures);
40+
this.namedFeatures.addAll(namedFeatures);
41+
}
42+
43+
public List<Class<?>> getAbstractFeatures() {
44+
return this.abstractFeatures;
45+
}
46+
47+
public List<NamedFeature> getNamedFeatures() {
48+
return this.namedFeatures;
49+
}
4150
}

spring-cloud-commons/src/test/java/org/springframework/cloud/client/actuator/FeaturesEndpointTests.java

+24-18
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package org.springframework.cloud.client.actuator;
22

3-
4-
import static org.hamcrest.Matchers.equalTo;
5-
import static org.hamcrest.Matchers.is;
6-
import static org.hamcrest.Matchers.notNullValue;
7-
import static org.junit.Assert.assertThat;
3+
import java.util.ArrayList;
4+
import java.util.List;
85

96
import org.junit.After;
107
import org.junit.Before;
@@ -16,8 +13,10 @@
1613
import org.springframework.context.annotation.Bean;
1714
import org.springframework.context.annotation.Configuration;
1815

19-
import java.util.ArrayList;
20-
import java.util.List;
16+
import static org.hamcrest.Matchers.equalTo;
17+
import static org.hamcrest.Matchers.is;
18+
import static org.hamcrest.Matchers.notNullValue;
19+
import static org.junit.Assert.assertThat;
2120

2221
/**
2322
* @author Spencer Gibb
@@ -29,7 +28,8 @@ public class FeaturesEndpointTests {
2928
@Before
3029
public void setup() {
3130
this.context = new AnnotationConfigApplicationContext();
32-
this.context.register(JacksonAutoConfiguration.class, FeaturesConfig.class, Config.class);
31+
this.context.register(JacksonAutoConfiguration.class, FeaturesConfig.class,
32+
Config.class);
3333
this.context.refresh();
3434
}
3535

@@ -42,7 +42,8 @@ public void close() {
4242

4343
@Test
4444
public void invokeWorks() {
45-
FeaturesEndpoint.Features features = this.context.getBean(FeaturesEndpoint.class).invoke();
45+
FeaturesEndpoint.Features features = this.context.getBean(FeaturesEndpoint.class)
46+
.invoke();
4647
assertThat(features, is(notNullValue()));
4748
assertThat(features.getEnabled().size(), is(equalTo(2)));
4849
assertThat(features.getDisabled().size(), is(equalTo(1)));
@@ -57,11 +58,11 @@ Foo foo() {
5758

5859
@Bean
5960
HasFeatures localFeatures() {
60-
return HasFeatures.builder()
61-
.abstractFeature(Foo.class)
62-
.namedFeature(new NamedFeature("Bar Feature", Bar.class))
63-
.abstractFeature(Baz.class)
64-
.build();
61+
HasFeatures features = HasFeatures.namedFeatures(
62+
new NamedFeature("foo", Foo.class),
63+
new NamedFeature("Bar Feature", Bar.class));
64+
features.getAbstractFeatures().add(Bar.class);
65+
return features;
6566
}
6667

6768
}
@@ -74,11 +75,16 @@ public static class Config {
7475

7576
@Bean
7677
public FeaturesEndpoint cloudEndpoint() {
77-
return new FeaturesEndpoint(hasFeatures);
78+
return new FeaturesEndpoint(this.hasFeatures);
7879
}
7980
}
8081

81-
public static class Foo {}
82-
public static class Bar {}
83-
public static class Baz {}
82+
public static class Foo {
83+
}
84+
85+
public static class Bar {
86+
}
87+
88+
public static class Baz {
89+
}
8490
}

0 commit comments

Comments
 (0)