@@ -34,7 +34,7 @@ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment
34
34
.map (e -> (TypeElement ) e )
35
35
.forEach (this ::generateDoneableClass );
36
36
}
37
- return false ;
37
+ return true ;
38
38
}
39
39
40
40
private void generateDoneableClass (TypeElement controllerClassSymbol ) {
@@ -44,8 +44,9 @@ private void generateDoneableClass(TypeElement controllerClassSymbol) {
44
44
.getElementUtils ()
45
45
.getTypeElement (resourceType .toString ());
46
46
47
+ final String destinationClassFileName = customerResourceTypeElement .getQualifiedName () + "Doneable" ;
47
48
JavaFileObject builderFile = processingEnv .getFiler ()
48
- .createSourceFile (customerResourceTypeElement . getSimpleName () + "Doneable" );
49
+ .createSourceFile (destinationClassFileName );
49
50
50
51
try (PrintWriter out = new PrintWriter (builderFile .openWriter ())) {
51
52
final MethodSpec constructor = MethodSpec .constructorBuilder ()
@@ -73,24 +74,34 @@ private void generateDoneableClass(TypeElement controllerClassSymbol) {
73
74
}
74
75
75
76
private TypeMirror findResourceType (TypeElement controllerClassSymbol ) throws Exception {
76
- final DeclaredType controllerType = collectAllInterfaces (controllerClassSymbol )
77
- .stream ()
78
- .filter (i -> i .toString ()
79
- .startsWith (ResourceController .class .getCanonicalName ())
80
- )
81
- .findFirst ()
82
- .orElseThrow (() -> new Exception ("ResourceController is not implemented by " + controllerClassSymbol .toString ()));
77
+ try {
78
+ final DeclaredType controllerType = collectAllInterfaces (controllerClassSymbol )
79
+ .stream ()
80
+ .filter (i -> i .toString ()
81
+ .startsWith (ResourceController .class .getCanonicalName ())
82
+ )
83
+ .findFirst ()
84
+ .orElseThrow (() -> new Exception ("ResourceController is not implemented by " + controllerClassSymbol .toString ()));
83
85
84
- return controllerType .getTypeArguments ().get (0 );
86
+ return controllerType .getTypeArguments ().get (0 );
87
+ } catch (Exception e ) {
88
+ e .printStackTrace ();
89
+ return null ;
90
+ }
85
91
}
86
92
87
93
private List <DeclaredType > collectAllInterfaces (TypeElement element ) {
88
- List <DeclaredType > interfaces = new ArrayList <>(element .getInterfaces ()).stream ().map (t -> (DeclaredType ) t ).collect (Collectors .toList ());
89
- TypeElement superclass = ((TypeElement ) ((DeclaredType ) element .getSuperclass ()).asElement ());
90
- while (superclass .getSuperclass ().getKind () != TypeKind .NONE ) {
91
- interfaces .addAll (superclass .getInterfaces ().stream ().map (t -> (DeclaredType ) t ).collect (Collectors .toList ()));
92
- superclass = ((TypeElement ) ((DeclaredType ) superclass .getSuperclass ()).asElement ());
94
+ try {
95
+ List <DeclaredType > interfaces = new ArrayList <>(element .getInterfaces ()).stream ().map (t -> (DeclaredType ) t ).collect (Collectors .toList ());
96
+ TypeElement superclass = ((TypeElement ) ((DeclaredType ) element .getSuperclass ()).asElement ());
97
+ while (superclass .getSuperclass ().getKind () != TypeKind .NONE ) {
98
+ interfaces .addAll (superclass .getInterfaces ().stream ().map (t -> (DeclaredType ) t ).collect (Collectors .toList ()));
99
+ superclass = ((TypeElement ) ((DeclaredType ) superclass .getSuperclass ()).asElement ());
100
+ }
101
+ return interfaces ;
102
+ } catch (Exception e ) {
103
+ e .printStackTrace ();
104
+ return null ;
93
105
}
94
- return interfaces ;
95
106
}
96
107
}
0 commit comments