Skip to content

Commit 3121fce

Browse files
author
Soroosh Sarabadani
committed
fix destination path
1 parent 49272c7 commit 3121fce

File tree

1 file changed

+27
-16
lines changed

1 file changed

+27
-16
lines changed

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/ControllerAnnotationProcessor.java

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment
3434
.map(e -> (TypeElement) e)
3535
.forEach(this::generateDoneableClass);
3636
}
37-
return false;
37+
return true;
3838
}
3939

4040
private void generateDoneableClass(TypeElement controllerClassSymbol) {
@@ -44,8 +44,9 @@ private void generateDoneableClass(TypeElement controllerClassSymbol) {
4444
.getElementUtils()
4545
.getTypeElement(resourceType.toString());
4646

47+
final String destinationClassFileName = customerResourceTypeElement.getQualifiedName() + "Doneable";
4748
JavaFileObject builderFile = processingEnv.getFiler()
48-
.createSourceFile(customerResourceTypeElement.getSimpleName() + "Doneable");
49+
.createSourceFile(destinationClassFileName);
4950

5051
try (PrintWriter out = new PrintWriter(builderFile.openWriter())) {
5152
final MethodSpec constructor = MethodSpec.constructorBuilder()
@@ -73,24 +74,34 @@ private void generateDoneableClass(TypeElement controllerClassSymbol) {
7374
}
7475

7576
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()));
8385

84-
return controllerType.getTypeArguments().get(0);
86+
return controllerType.getTypeArguments().get(0);
87+
} catch (Exception e) {
88+
e.printStackTrace();
89+
return null;
90+
}
8591
}
8692

8793
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;
93105
}
94-
return interfaces;
95106
}
96107
}

0 commit comments

Comments
 (0)