From 0e9b83a1cefc4ca26ede1d7f4f8a7179ea7c01f0 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Thu, 8 Dec 2022 11:37:10 +1300 Subject: [PATCH] #2914 - Refactor ProcessingContext.getPropertyType() internals and whitespace --- .../generator/ProcessingContext.java | 29 +++++++------------ .../generator/ProcessingContext.java | 28 +++++++----------- 2 files changed, 21 insertions(+), 36 deletions(-) diff --git a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java index b95070745..036885b59 100644 --- a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java +++ b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java @@ -168,7 +168,6 @@ class ProcessingContext implements Constants { * Recursively gather all the fields (properties) for the given bean element. */ private void gatherProperties(List fields, Element element) { - TypeElement typeElement = (TypeElement) element; TypeMirror superclass = typeElement.getSuperclass(); Element mappedSuper = typeUtils.asElement(superclass); @@ -262,9 +261,17 @@ class ProcessingContext implements Constants { } PropertyType getPropertyType(VariableElement field) { - - TypeMirror typeMirror = field.asType(); - + if (dbJsonField(field)) { + return propertyTypeMap.getDbJsonType(); + } + if (dbArrayField(field)) { + // get generic parameter type + DeclaredType declaredType = (DeclaredType) field.asType(); + String fullType = typeDef(declaredType.getTypeArguments().get(0)); + String shortName = langShortType(Split.shortName(fullType)); + return new PropertyTypeArray(fullType, shortName); + } + final TypeMirror typeMirror = field.asType(); TypeMirror currentType = typeMirror; while (currentType != null) { PropertyType type = propertyTypeMap.getType(typeDef(currentType)); @@ -277,18 +284,6 @@ class ProcessingContext implements Constants { currentType = (fieldType == null) ? null : fieldType.getSuperclass(); } - if (dbJsonField(field)) { - return propertyTypeMap.getDbJsonType(); - } - - if (dbArrayField(field)) { - // get generic parameter type - DeclaredType declaredType = (DeclaredType) typeMirror; - String fullType = typeDef(declaredType.getTypeArguments().get(0)); - String shortName = langShortType(Split.shortName(fullType)); - return new PropertyTypeArray(fullType, shortName); - } - Element fieldType = typeUtils.asElement(typeMirror); if (fieldType == null) { return null; @@ -392,7 +387,6 @@ class ProcessingContext implements Constants { * Create the QAssoc PropertyType. */ private PropertyType createPropertyTypeAssoc(String fullName) { - String[] split = Split.split(fullName); String propertyName = "QAssoc" + split[1]; String packageName = packageAppend(split[0]); @@ -445,7 +439,6 @@ class ProcessingContext implements Constants { * Register an entity with optional dbName. */ void addEntity(String beanFullName, String dbName) { - loaded.add(beanFullName); final String pkg = packageOf(beanFullName); if (pkg != null) { diff --git a/querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java b/querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java index 7e65a7363..7002ac954 100644 --- a/querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java +++ b/querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java @@ -125,7 +125,6 @@ class ProcessingContext implements Constants { * Recursively gather all the fields (properties) for the given bean element. */ private void gatherProperties(List fields, Element element) { - TypeElement typeElement = (TypeElement) element; TypeMirror superclass = typeElement.getSuperclass(); Element mappedSuper = typeUtils.asElement(superclass); @@ -240,9 +239,16 @@ class ProcessingContext implements Constants { } PropertyType getPropertyType(VariableElement field) { - - TypeMirror typeMirror = field.asType(); - + if (dbJsonField(field)) { + return propertyTypeMap.getDbJsonType(); + } + if (dbArrayField(field)) { + // get generic parameter type + DeclaredType declaredType = (DeclaredType) field.asType(); + String fullType = typeDef(declaredType.getTypeArguments().get(0)); + return new PropertyTypeArray(fullType, Split.shortName(fullType)); + } + final TypeMirror typeMirror = field.asType(); TypeMirror currentType = typeMirror; while (currentType != null) { PropertyType type = propertyTypeMap.getType(typeDef(currentType)); @@ -255,17 +261,6 @@ class ProcessingContext implements Constants { currentType = (fieldType == null) ? null : fieldType.getSuperclass(); } - if (dbJsonField(field)) { - return propertyTypeMap.getDbJsonType(); - } - - if (dbArrayField(field)) { - // get generic parameter type - DeclaredType declaredType = (DeclaredType) typeMirror; - String fullType = typeDef(declaredType.getTypeArguments().get(0)); - return new PropertyTypeArray(fullType, Split.shortName(fullType)); - } - Element fieldType = typeUtils.asElement(typeMirror); if (fieldType == null) { return null; @@ -273,7 +268,6 @@ class ProcessingContext implements Constants { // workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=544288 fieldType = elementUtils.getTypeElement(fieldType.toString()); - if (fieldType.getKind() == ElementKind.ENUM) { String fullType = typeDef(typeMirror); return new PropertyTypeEnum(fullType, Split.shortName(fullType)); @@ -366,7 +360,6 @@ class ProcessingContext implements Constants { * Create the QAssoc PropertyType. */ private PropertyType createPropertyTypeAssoc(String fullName) { - String[] split = Split.split(fullName); String propertyName = "QAssoc" + split[1]; String packageName = packageAppend(split[0]); @@ -423,7 +416,6 @@ class ProcessingContext implements Constants { * Register an entity with optional dbName. */ void addEntity(String beanFullName, String dbName) { - loaded.add(beanFullName); final String pkg = packageOf(beanFullName); if (pkg != null) {