From a32ceebc0b79f41cca44d4925182c99d2e1fb6c1 Mon Sep 17 00:00:00 2001 From: atos-mohamed-b <126660650+atos-mohamed-b@users.noreply.github.com> Date: Thu, 13 Jun 2024 17:34:52 +0200 Subject: [PATCH] LUT-28078: Fixed SONAR issue with Field accessibility (Reflection) --- src/java/fr/paris/lutece/util/bean/BeanUtil.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/java/fr/paris/lutece/util/bean/BeanUtil.java b/src/java/fr/paris/lutece/util/bean/BeanUtil.java index 4a00553196..1b6fb050f9 100644 --- a/src/java/fr/paris/lutece/util/bean/BeanUtil.java +++ b/src/java/fr/paris/lutece/util/bean/BeanUtil.java @@ -43,6 +43,7 @@ import org.apache.commons.beanutils.SuppressPropertiesBeanIntrospector; import org.apache.commons.beanutils.converters.DateConverter; import org.apache.commons.beanutils.converters.SqlTimeConverter; +import org.springframework.util.ReflectionUtils; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -127,11 +128,11 @@ public static void populate( Object bean, HttpServletRequest request, Locale loc // for all boolean field, init to false if ( Boolean.class.isAssignableFrom( field.getType( ) ) || boolean.class.isAssignableFrom( field.getType( ) ) ) { - field.setAccessible( true ); - field.set( bean, false ); + ReflectionUtils.makeAccessible( field ); + ReflectionUtils.setField( field, bean, false ); } } - catch( Exception e ) + catch( NullPointerException e ) { String error = "La valeur du champ " + field.getName( ) + " de la classe " + bean.getClass( ).getName( ) + " n'a pas pu être récupéré "; AppLogService.error( error, e );