Skip to content

Commit b23b505

Browse files
committed
#102 - Tidy generated code for field injection
1 parent 7a08738 commit b23b505

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

inject-generator/src/main/java/io/avaje/inject/generator/BeanReader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ void read(boolean factory) {
108108
constructor.checkRequest(requestParams);
109109
}
110110
for (FieldReader fields : injectFields) {
111+
fields.addImports(importTypes);
111112
fields.checkRequest(requestParams);
112113
}
113114
for (MethodReader methods : injectMethods) {

inject-generator/src/main/java/io/avaje/inject/generator/FieldReader.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package io.avaje.inject.generator;
22

33
import javax.lang.model.element.Element;
4+
import java.util.Set;
45

56
class FieldReader {
67

78
private final Element element;
89
private final String name;
910
private final UtilType type;
1011
private final boolean nullable;
12+
private final String fieldType;
1113
private boolean requestParam;
1214
private String requestParamName;
1315

@@ -16,27 +18,28 @@ class FieldReader {
1618
this.name = Util.getNamed(element);
1719
this.nullable = Util.isNullable(element);
1820
this.type = Util.determineType(element.asType());
21+
this.fieldType = Util.unwrapProvider(type.rawType());
1922
}
2023

2124
String getFieldName() {
2225
return element.getSimpleName().toString();
2326
}
2427

28+
void addImports(Set<String> importTypes) {
29+
importTypes.add(fieldType);
30+
}
31+
2532
String builderGetDependency() {
2633
StringBuilder sb = new StringBuilder();
2734
sb.append("b.").append(type.getMethod(nullable));
28-
sb.append(getFieldType()).append(".class");
35+
sb.append(nm(fieldType)).append(".class");
2936
if (name != null) {
3037
sb.append(",\"").append(name).append("\"");
3138
}
3239
sb.append(")");
3340
return sb.toString();
3441
}
3542

36-
private String getFieldType() {
37-
return Util.unwrapProvider(type.rawType());
38-
}
39-
4043
/**
4144
* Check for request scoped dependency.
4245
*/
@@ -53,7 +56,7 @@ void checkRequest(BeanRequestParams requestParams) {
5356
void writeRequestDependency(Append writer) {
5457
if (!requestParam) {
5558
// just add as field dependency
56-
requestParamName = writer.nextName(getFieldName().toLowerCase());//"dep");
59+
requestParamName = writer.nextName(getFieldName().toLowerCase());
5760
final String shortType = nm(type.rawType());
5861
writer.append(" @Inject").eol();
5962
writer.append(" %s %s;", shortType, requestParamName).eol().eol();

inject-generator/src/main/java/io/avaje/inject/generator/Util.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,13 @@ static String commonParent(String currentTop, String aPackage) {
125125
public static String getNamed(Element p) {
126126
Named named = p.getAnnotation(Named.class);
127127
if (named != null) {
128-
return named.value();
128+
return named.value().toLowerCase();
129129
}
130130
for (AnnotationMirror annotationMirror : p.getAnnotationMirrors()) {
131131
DeclaredType annotationType = annotationMirror.getAnnotationType();
132132
Qualifier qualifier = annotationType.asElement().getAnnotation(Qualifier.class);
133133
if (qualifier != null) {
134-
return Util.shortName(annotationType.toString());
134+
return Util.shortName(annotationType.toString()).toLowerCase();
135135
}
136136
}
137137
return null;

0 commit comments

Comments
 (0)