Skip to content
This repository was archived by the owner on Oct 22, 2020. It is now read-only.

Commit 15336b4

Browse files
committed
Regression DbName not read from MappedSuperclass / inheritance #42
1 parent f0b8fad commit 15336b4

4 files changed

Lines changed: 19 additions & 4 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<parent>
1010
<groupId>org.avaje</groupId>
1111
<artifactId>java8-parent</artifactId>
12-
<version>1.3</version>
12+
<version>1.4</version>
1313
</parent>
1414

1515
<scm>

src/main/java/io/ebean/querybean/generator/FindDbName.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
import javax.lang.model.element.AnnotationValue;
55
import javax.lang.model.element.ExecutableElement;
66
import javax.lang.model.element.TypeElement;
7+
import javax.lang.model.type.TypeKind;
8+
import javax.lang.model.type.TypeMirror;
9+
import javax.lang.model.util.Types;
710
import java.util.List;
811
import java.util.Map;
912
import java.util.Set;
@@ -15,13 +18,18 @@ class FindDbName {
1518
/**
1619
* Return the value of the DbName annotation or null if it isn't found on the element.
1720
*/
18-
static String value(TypeElement element) {
21+
static String value(TypeElement element, Types typeUtils) {
1922

2023
AnnotationMirror mirror = findDbNameMirror(element);
2124
if (mirror != null) {
2225
return readDbNameValue(mirror);
2326
}
24-
return null;
27+
final TypeMirror typeMirror = element.getSuperclass();
28+
if (typeMirror.getKind() == TypeKind.NONE) {
29+
return null;
30+
}
31+
final TypeElement element1 = (TypeElement)typeUtils.asElement(typeMirror);
32+
return value(element1, typeUtils);
2533
}
2634

2735
private static String readDbNameValue(AnnotationMirror mirror) {

src/main/java/io/ebean/querybean/generator/ProcessingContext.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,13 @@ boolean isEntity(Element element) {
160160
return hasAnnotations(element, ENTITY);
161161
}
162162

163+
/**
164+
* Find the DbName annotation and return name if found.
165+
*/
166+
String findDbName(TypeElement element) {
167+
return FindDbName.value(element, typeUtils);
168+
}
169+
163170
/**
164171
* Return true if it is a DbJson field.
165172
*/

src/main/java/io/ebean/querybean/generator/SimpleQueryBeanWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class SimpleQueryBeanWriter {
8989
}
9090

9191
private String findDbName() {
92-
return FindDbName.value(element);
92+
return processingContext.findDbName(element);
9393
}
9494

9595
private LangAdapter lang() {

0 commit comments

Comments
 (0)