This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch 8.0.x-hibernate7-dev in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 5243c05169f482952e731a5a306b41634fe873d6 Author: Walter Duque de Estrada <[email protected]> AuthorDate: Sat Mar 7 13:56:11 2026 -0600 hibernate7: more Codenarc --- .../hibernate/annotation/ManagedEntity.java | 0 .../orm/hibernate/HibernateGormEnhancer.groovy | 1 + .../orm/hibernate/HibernateGormInstanceApi.groovy | 80 ++++++++---------- .../compiler/HibernateEntityTransformation.groovy | 98 +++++++++++++--------- 4 files changed, 95 insertions(+), 84 deletions(-) diff --git a/grails-data-hibernate7/core/src/main/groovy/grails/orm/hibernate/annotation/ManagedEntity.java b/grails-data-hibernate7/core/src/main/groovy/grails/gorm/hibernate/annotation/ManagedEntity.java similarity index 100% rename from grails-data-hibernate7/core/src/main/groovy/grails/orm/hibernate/annotation/ManagedEntity.java rename to grails-data-hibernate7/core/src/main/groovy/grails/gorm/hibernate/annotation/ManagedEntity.java diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormEnhancer.groovy b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormEnhancer.groovy index 1140a54019..e2799ea68b 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormEnhancer.groovy +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormEnhancer.groovy @@ -22,6 +22,7 @@ import org.grails.datastore.gorm.GormValidationApi import org.grails.datastore.mapping.core.Datastore import org.grails.datastore.mapping.core.connections.ConnectionSourceSettings import org.springframework.transaction.PlatformTransactionManager + /** * Extended GORM Enhancer that fills out the remaining GORM for Hibernate methods * and implements string-based query support via HQL. diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormInstanceApi.groovy b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormInstanceApi.groovy index 0bd4b3e2df..a450402d00 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormInstanceApi.groovy +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormInstanceApi.groovy @@ -57,23 +57,22 @@ import org.springframework.validation.Validator @CompileStatic class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { - private static final String ARGUMENT_VALIDATE = "validate" - private static final String ARGUMENT_DEEP_VALIDATE = "deepValidate" - private static final String ARGUMENT_FLUSH = "flush" - private static final String ARGUMENT_INSERT = "insert" - private static final String ARGUMENT_MERGE = "merge" - private static final String ARGUMENT_FAIL_ON_ERROR = "failOnError" + private static final String ARGUMENT_VALIDATE = 'validate' + private static final String ARGUMENT_DEEP_VALIDATE = 'deepValidate' + private static final String ARGUMENT_FLUSH = 'flush' + private static final String ARGUMENT_INSERT = 'insert' + private static final String ARGUMENT_MERGE = 'merge' + private static final String ARGUMENT_FAIL_ON_ERROR = 'failOnError' private static final Class DEFERRED_BINDING static { try { DEFERRED_BINDING = Class.forName('grails.validation.DeferredBindingActions') - } catch (Throwable e) { + } catch (Throwable ignored) { DEFERRED_BINDING = null } } - protected static final Object[] EMPTY_ARRAY = [] static final ThreadLocal<Boolean> insertActiveThreadLocal = new ThreadLocal<Boolean>() protected SessionFactory sessionFactory @@ -118,7 +117,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { datastore.applicationEventPublisher?.publishEvent new ValidationEvent(datastore, target) if (validator instanceof CascadingValidator) { - ((CascadingValidator)validator).validate target, errors, deepValidate + ((CascadingValidator) validator).validate target, errors, deepValidate } else if (validator instanceof org.grails.datastore.gorm.validation.CascadingValidator) { ((org.grails.datastore.gorm.validation.CascadingValidator) validator).validate target, errors, deepValidate } else { @@ -126,9 +125,9 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { } if (errors.hasErrors()) { - handleValidationError(domainClass,target,errors) + handleValidationError(domainClass, target, errors) if (shouldFail(arguments)) { - throw validationException.newInstance("Validation Error(s) occurred during save()", errors) + throw validationException.newInstance('Validation Error(s) occurred during save()', errors) } return null } @@ -143,7 +142,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { validateable.skipValidation(true) try { - String idPropertyName = domainClass.identity?.name ?: "id" + String idPropertyName = domainClass.identity?.name ?: 'id' Object idVal = InvokerHelper.getProperty(target, idPropertyName) if (idVal == null) { return performPersist(target, shouldFlush) @@ -155,11 +154,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { } } - - - - - private void runDeferredBinding() { + private static void runDeferredBinding() { if (DEFERRED_BINDING != null) { // DeferredBindingActions is from grails-data-binding (optional dep); invoked via reflection // because it belongs to the migration plugin, which runs once per deployment and need not be on the compile classpath @@ -192,7 +187,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { try { hibernateTemplate.execute { Session session -> session.remove instance - if(flush) { + if (flush) { session.flush() } } @@ -233,7 +228,6 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { return instance } - protected D performMerge(final D target, final boolean flush) { hibernateTemplate.execute { Session session -> Object merged = session.merge(target) @@ -241,7 +235,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { if (flush) { flushSession session } - return (D)merged + return (D) merged } } @@ -257,11 +251,10 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { } finally { resetInsertActive() } - } } - protected void flushSession(Session session) throws HibernateException { + protected static void flushSession(Session session) throws HibernateException { try { session.flush() } catch (HibernateException e) { @@ -270,13 +263,13 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { } } - @SuppressWarnings("unchecked") + @SuppressWarnings('unchecked') private void autoRetrieveAssociations(Datastore datastore, PersistentEntity entity, Object target) { EntityReflector reflector = datastore.mappingContext.getEntityReflector(entity) IHibernateTemplate t = this.hibernateTemplate for (PersistentProperty prop in entity.associations) { - if(prop instanceof ToOne && !(prop instanceof Embedded)) { - ToOne toOne = (ToOne)prop + if (prop instanceof ToOne && !(prop instanceof Embedded)) { + ToOne toOne = (ToOne) prop def propertyName = prop.name def propValue = reflector.getProperty(target, propertyName) @@ -290,13 +283,13 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { } def identity = otherSide.identity - if(identity == null) { + if (identity == null) { continue } def otherSideReflector = datastore.mappingContext.getEntityReflector(otherSide) try { - def id = (Serializable)otherSideReflector.getProperty(propValue, identity.name); + def id = (Serializable) otherSideReflector.getProperty(propValue, identity.name) if (id) { final Object associatedInstance = t.get(prop.type, id) if (associatedInstance) { @@ -304,15 +297,14 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { } } } - catch (InvalidPropertyException ipe) { + catch (InvalidPropertyException ignored) { // property is not accessable } } - } } - private boolean shouldValidate(Map arguments, PersistentEntity entity) { + private static boolean shouldValidate(Map arguments, PersistentEntity entity) { if (!entity) { return false } @@ -341,11 +333,11 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { if (entity) { for (Association association in entity.associations) { if (association instanceof ToOne && !association instanceof Embedded) { - def bean = new BeanWrapperImpl(target) - def propertyValue = bean.getPropertyValue(association.name) - if (propertyValue != null) { - setObjectToReadOnly propertyValue - } + def bean = new BeanWrapperImpl(target) + def propertyValue = bean.getPropertyValue(association.name) + if (propertyValue != null) { + setObjectToReadOnly propertyValue + } } } } @@ -362,11 +354,11 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { } static void markInsertActive() { - insertActiveThreadLocal.set(Boolean.TRUE); + insertActiveThreadLocal.set(Boolean.TRUE) } static void resetInsertActive() { - insertActiveThreadLocal.remove(); + insertActiveThreadLocal.remove() } /** @@ -377,9 +369,8 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { * * @return true if the field is dirty */ - boolean isDirty(D instance, String fieldName) { - SessionImplementor session = (SessionImplementor)sessionFactory.currentSession + SessionImplementor session = (SessionImplementor) sessionFactory.currentSession EntityEntry entry = findEntityEntry(instance, session) if (!entry || !entry.loadedState) { return false @@ -399,7 +390,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { return fieldIndex in dirtyProperties } - private int[] findDirty(EntityPersister persister, Object[] values, EntityEntry entry, D instance, SessionImplementor session) { + private static int[] findDirty(EntityPersister persister, Object[] values, EntityEntry entry, D instance, SessionImplementor session) { persister.findDirty(values, entry.loadedState, instance, session) } @@ -410,7 +401,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { * @return true if it is dirty */ boolean isDirty(D instance) { - SessionImplementor session = (SessionImplementor)sessionFactory.currentSession + SessionImplementor session = (SessionImplementor) sessionFactory.currentSession EntityEntry entry = findEntityEntry(instance, session) if (!entry || !entry.loadedState) { return false @@ -428,7 +419,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { * @return A list of property names that are dirty */ List<String> getDirtyPropertyNames(D instance) { - SessionImplementor session = (SessionImplementor)sessionFactory.currentSession + SessionImplementor session = (SessionImplementor) sessionFactory.currentSession EntityEntry entry = findEntityEntry(instance, session) if (!entry || !entry.loadedState) { return [] @@ -454,7 +445,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { * @return The original persisted value */ Object getPersistentValue(D instance, String fieldName) { - SessionImplementor session = (SessionImplementor)sessionFactory.currentSession + SessionImplementor session = (SessionImplementor) sessionFactory.currentSession def entry = findEntityEntry(instance, session, false) if (!entry || !entry.loadedState) { return null @@ -467,8 +458,7 @@ class HibernateGormInstanceApi<D> extends GormInstanceApi<D> { return fieldIndex == -1 ? null : entry.loadedState[fieldIndex] } - - protected EntityEntry findEntityEntry(D instance, SessionImplementor session, boolean forDirtyCheck = true) { + protected static EntityEntry findEntityEntry(D instance, SessionImplementor session, boolean forDirtyCheck = true) { def entry = session.persistenceContext.getEntry(instance) if (!entry) { return null diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/compiler/HibernateEntityTransformation.groovy b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/compiler/HibernateEntityTransformation.groovy index d4a606534c..a358fec8ad 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/compiler/HibernateEntityTransformation.groovy +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/compiler/HibernateEntityTransformation.groovy @@ -4,7 +4,16 @@ import grails.gorm.dirty.checking.DirtyCheckedProperty import groovy.transform.CompilationUnitAware import groovy.transform.CompileStatic import org.apache.groovy.ast.tools.AnnotatedNodeUtils -import org.codehaus.groovy.ast.* +import org.codehaus.groovy.ast.ASTNode +import org.codehaus.groovy.ast.AnnotatedNode +import org.codehaus.groovy.ast.AnnotationNode +import org.codehaus.groovy.ast.ClassHelper +import org.codehaus.groovy.ast.ClassNode +import org.codehaus.groovy.ast.FieldNode +import org.codehaus.groovy.ast.InnerClassNode +import org.codehaus.groovy.ast.MethodNode +import org.codehaus.groovy.ast.Parameter +import org.codehaus.groovy.ast.ClassCodeVisitorSupport import org.codehaus.groovy.ast.stmt.BlockStatement import org.codehaus.groovy.ast.stmt.IfStatement import org.codehaus.groovy.ast.stmt.ReturnStatement @@ -27,7 +36,20 @@ import org.hibernate.engine.spi.PersistentAttributeInterceptor import jakarta.persistence.Transient import java.lang.reflect.Modifier -import static org.codehaus.groovy.ast.tools.GeneralUtils.* +import static org.codehaus.groovy.ast.tools.GeneralUtils.args +import static org.codehaus.groovy.ast.tools.GeneralUtils.assignS +import static org.codehaus.groovy.ast.tools.GeneralUtils.callX +import static org.codehaus.groovy.ast.tools.GeneralUtils.constX +import static org.codehaus.groovy.ast.tools.GeneralUtils.equalsNullX +import static org.codehaus.groovy.ast.tools.GeneralUtils.fieldX +import static org.codehaus.groovy.ast.tools.GeneralUtils.ifS +import static org.codehaus.groovy.ast.tools.GeneralUtils.neX +import static org.codehaus.groovy.ast.tools.GeneralUtils.param +import static org.codehaus.groovy.ast.tools.GeneralUtils.params +import static org.codehaus.groovy.ast.tools.GeneralUtils.propX +import static org.codehaus.groovy.ast.tools.GeneralUtils.returnS +import static org.codehaus.groovy.ast.tools.GeneralUtils.ternaryX +import static org.codehaus.groovy.ast.tools.GeneralUtils.varX /** * A transformation that transforms entities that implement the {@link grails.gorm.hibernate.annotation.ManagedEntity} trait, @@ -39,26 +61,27 @@ import static org.codehaus.groovy.ast.tools.GeneralUtils.* @CompileStatic @GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION) class HibernateEntityTransformation implements ASTTransformation, CompilationUnitAware { - private static final ClassNode MY_TYPE = new ClassNode(grails.gorm.hibernate.annotation.ManagedEntity.class); - private static final Object APPLIED_MARKER = new Object(); + + private static final ClassNode MY_TYPE = new ClassNode(grails.gorm.hibernate.annotation.ManagedEntity) + private static final Object APPLIED_MARKER = new Object() // final boolean available = ClassUtils.isPresent("org.hibernate.SessionFactory") && Boolean.valueOf(System.getProperty("hibernate.enhance", "true")) CompilationUnit compilationUnit @Override void visit(ASTNode[] astNodes, SourceUnit sourceUnit) { - AnnotatedNode parent = (AnnotatedNode) astNodes[1]; - AnnotationNode node = (AnnotationNode) astNodes[0]; + AnnotatedNode parent = (AnnotatedNode) astNodes[1] + AnnotationNode node = (AnnotationNode) astNodes[0] if (!(astNodes[0] instanceof AnnotationNode) || !(astNodes[1] instanceof AnnotatedNode)) { - throw new RuntimeException("Internal error: wrong types: ${node.getClass()} / ${parent.getClass()}"); + throw new RuntimeException("Internal error: wrong types: ${node.getClass()} / ${parent.getClass()}") } if (!MY_TYPE.equals(node.getClassNode()) || !(parent instanceof ClassNode)) { - return; + return } - ClassNode cNode = (ClassNode) parent; + ClassNode cNode = (ClassNode) parent visit(cNode, sourceUnit) } @@ -76,12 +99,12 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni def mapWith = AstUtils.getPropertyFromHierarchy(classNode, GormProperties.MAPPING_STRATEGY) String mapWithValue = mapWith?.initialExpression?.text - if(mapWithValue != null && (mapWithValue != ('hibernate') || mapWithValue != GormProperties.DEFAULT_MAPPING_STRATEGY)) { + if (mapWithValue != null && (mapWithValue != ('hibernate') || mapWithValue != GormProperties.DEFAULT_MAPPING_STRATEGY)) { return } new GormEntityTransformation(compilationUnit: compilationUnit).visit(classNode, sourceUnit) - + ClassNode managedEntityClassNode = ClassHelper.make(ManagedEntity) ClassNode attributeInterceptableClassNode = ClassHelper.make(PersistentAttributeInterceptable) ClassNode entityEntryClassNode = ClassHelper.make(EntityEntry) @@ -97,7 +120,7 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni def staticCompilationVisitor = new StaticCompilationVisitor(sourceUnit, classNode) - AnnotationNode transientAnnotationNode = new AnnotationNode(ClassHelper.make(Transient.class)) + AnnotationNode transientAnnotationNode = new AnnotationNode(ClassHelper.make(Transient)) FieldNode entityEntryHolderField = classNode.addField(entryHolderFieldName, Modifier.PRIVATE | Modifier.TRANSIENT, entityEntryClassNode, null) entityEntryHolderField .addAnnotation(transientAnnotationNode) @@ -118,8 +141,6 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni interceptorField .addAnnotation(transientAnnotationNode) - - // add method: PersistentAttributeInterceptor $$_hibernate_getInterceptor() def getInterceptorMethod = new MethodNode( '$$_hibernate_getInterceptor', @@ -134,14 +155,14 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni staticCompilationVisitor.visitMethod(getInterceptorMethod) // add method: void $$_hibernate_setInterceptor(PersistentAttributeInterceptor interceptor) - def p1 = param(persistentAttributeInterceptorClassNode, "interceptor") + def p1 = param(persistentAttributeInterceptorClassNode, 'interceptor') def setInterceptorMethod = new MethodNode( '$$_hibernate_setInterceptor', Modifier.PUBLIC, ClassHelper.VOID_TYPE, params(p1), null, - assignS( varX(interceptorField), varX(p1) ) + assignS(varX(interceptorField), varX(p1)) ) classNode.addMethod(setInterceptorMethod) AnnotatedNodeUtils.markAsGenerated(classNode, setInterceptorMethod) @@ -154,13 +175,12 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni ClassHelper.OBJECT_TYPE, AstUtils.ZERO_PARAMETERS, null, - returnS(varX("this")) + returnS(varX('this')) ) classNode.addMethod(getEntityInstanceMethod) AnnotatedNodeUtils.markAsGenerated(classNode, getEntityInstanceMethod) staticCompilationVisitor.visitMethod(getEntityInstanceMethod) - // add method: EntityEntry $$_hibernate_getEntityEntry() def getEntityEntryMethod = new MethodNode( '$$_hibernate_getEntityEntry', @@ -175,14 +195,14 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni staticCompilationVisitor.visitMethod(getEntityEntryMethod) // add method: void $$_hibernate_setEntityEntry(EntityEntry entityEntry) - def entityEntryParam = param(entityEntryClassNode, "entityEntry") + def entityEntryParam = param(entityEntryClassNode, 'entityEntry') def setEntityEntryMethod = new MethodNode( '$$_hibernate_setEntityEntry', Modifier.PUBLIC, ClassHelper.VOID_TYPE, params(entityEntryParam), null, - assignS( varX(entityEntryHolderField), varX(entityEntryParam) ) + assignS(varX(entityEntryHolderField), varX(entityEntryParam)) ) classNode.addMethod(setEntityEntryMethod) AnnotatedNodeUtils.markAsGenerated(classNode, setEntityEntryMethod) @@ -215,28 +235,28 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni staticCompilationVisitor.visitMethod(getNextManagedEntityMethod) // add method: void $$_hibernate_setPreviousManagedEntity(ManagedEntity previous) - def previousParam = param(managedEntityClassNode, "previous") + def previousParam = param(managedEntityClassNode, 'previous') def setPreviousManagedEntityMethod = new MethodNode( '$$_hibernate_setPreviousManagedEntity', Modifier.PUBLIC, ClassHelper.VOID_TYPE, params(previousParam), null, - assignS( varX(previousManagedEntityField), varX(previousParam) ) + assignS(varX(previousManagedEntityField), varX(previousParam)) ) classNode.addMethod(setPreviousManagedEntityMethod) AnnotatedNodeUtils.markAsGenerated(classNode, setPreviousManagedEntityMethod) staticCompilationVisitor.visitMethod(setPreviousManagedEntityMethod) // add method: void $$_hibernate_setNextManagedEntity(ManagedEntity next) - def nextParam = param(managedEntityClassNode, "next") + def nextParam = param(managedEntityClassNode, 'next') def setNextManagedEntityMethod = new MethodNode( '$$_hibernate_setNextManagedEntity', Modifier.PUBLIC, ClassHelper.VOID_TYPE, params(nextParam), null, - assignS( varX(nextManagedEntityField), varX(nextParam) ) + assignS(varX(nextManagedEntityField), varX(nextParam)) ) classNode.addMethod(setNextManagedEntityMethod) AnnotatedNodeUtils.markAsGenerated(classNode, setNextManagedEntityMethod) @@ -256,14 +276,14 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni staticCompilationVisitor.visitMethod(getInstanceIdMethod) // add method: void $$_hibernate_setInstanceId(int instanceId) - def instanceIdParam = param(ClassHelper.int_TYPE, "instanceId") + def instanceIdParam = param(ClassHelper.int_TYPE, 'instanceId') def setInstanceIdMethod = new MethodNode( '$$_hibernate_setInstanceId', Modifier.PUBLIC, ClassHelper.VOID_TYPE, params(instanceIdParam), null, - assignS( varX(instanceIdField), varX(instanceIdParam) ) + assignS(varX(instanceIdField), varX(instanceIdParam)) ) classNode.addMethod(setInstanceIdMethod) AnnotatedNodeUtils.markAsGenerated(classNode, setInstanceIdMethod) @@ -303,9 +323,9 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni staticCompilationVisitor.visitMethod(useTrackerSetter) List<MethodNode> allMethods = classNode.getMethods() - for(MethodNode methodNode in allMethods) { - if(methodNode.getAnnotations(ClassHelper.make(DirtyCheckedProperty))) { - if(AstUtils.isGetter(methodNode)) { + for (MethodNode methodNode in allMethods) { + if (methodNode.getAnnotations(ClassHelper.make(DirtyCheckedProperty))) { + if (AstUtils.isGetter(methodNode)) { def codeVisitor = new ClassCodeVisitorSupport() { @Override protected SourceUnit getSourceUnit() { @@ -314,14 +334,14 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni @Override void visitReturnStatement(ReturnStatement statement) { - ReturnStatement rs = (ReturnStatement)statement + ReturnStatement rs = (ReturnStatement) statement def i = varX(interceptorField) def propertyName = NameUtils.getPropertyNameForGetterOrSetter(methodNode.getName()) def returnType = methodNode.getReturnType() final boolean isPrimitive = ClassHelper.isPrimitiveType(returnType) - String readMethodName = isPrimitive ? "read${NameUtils.capitalize(returnType.getName())}" : "readObject" - def readObjectCall = callX(i, readMethodName, args(varX("this"), constX(propertyName), rs.getExpression())) + String readMethodName = isPrimitive ? "read${NameUtils.capitalize(returnType.getName())}" : 'readObject' + def readObjectCall = callX(i, readMethodName, args(varX('this'), constX(propertyName), rs.getExpression())) def ternaryExpr = ternaryX( equalsNullX(varX(interceptorField)), rs.getExpression(), @@ -336,21 +356,21 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni } else { Statement code = methodNode.code - if(code instanceof BlockStatement) { - BlockStatement bs = (BlockStatement)code + if (code instanceof BlockStatement) { + BlockStatement bs = (BlockStatement) code Parameter parameter = methodNode.getParameters()[0] ClassNode parameterType = parameter.type final boolean isPrimitive = ClassHelper.isPrimitiveType(parameterType) - String writeMethodName = isPrimitive ? "write${NameUtils.capitalize(parameterType.getName())}" : "writeObject" + String writeMethodName = isPrimitive ? "write${NameUtils.capitalize(parameterType.getName())}" : 'writeObject' String propertyName = NameUtils.getPropertyNameForGetterOrSetter(methodNode.getName()) def interceptorFieldExpr = fieldX(interceptorField) - def ifStatement = ifS( neX(interceptorFieldExpr, constX(null) ), + def ifStatement = ifS(neX(interceptorFieldExpr, constX(null)), assignS( varX(parameter), - callX( interceptorFieldExpr, writeMethodName, args( varX("this"), constX(propertyName), propX(varX("this"), propertyName), varX(parameter))) + callX(interceptorFieldExpr, writeMethodName, args(varX('this'), constX(propertyName), propX(varX('this'), propertyName), varX(parameter))) ) ) - staticCompilationVisitor.visitIfElse((IfStatement)ifStatement) + staticCompilationVisitor.visitIfElse((IfStatement) ifStatement) bs.getStatements().add(0, ifStatement) } } @@ -360,4 +380,4 @@ class HibernateEntityTransformation implements ASTTransformation, CompilationUni classNode.putNodeMetaData(AstUtils.TRANSFORM_APPLIED_MARKER, APPLIED_MARKER) } -} \ No newline at end of file +}
