From 2a3f8445a911cdc3df64dfc9d8fa3087558a96b7 Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Sun, 3 Feb 2008 14:27:22 +0000
Subject: [PATCH] change: ensure we get access to methods even when they are
 not accessible by default (e.g. final methods)

SVN: 3969
---
 .../cisd/common/utilities/BeanUtils.java        | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java b/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
index 1730c568459..4e866af7241 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
@@ -709,7 +709,22 @@ public final class BeanUtils
         {
             return null;
         }
-        return getter.invoke(bean, ArrayUtils.EMPTY_OBJECT_ARRAY);
+        final boolean isAccessible = getter.isAccessible(); 
+        if (isAccessible == false)
+        {
+            getter.setAccessible(true);
+        }
+        try
+        {
+            final Object oldBean = getter.invoke(bean, ArrayUtils.EMPTY_OBJECT_ARRAY); 
+            return oldBean;
+        } finally
+        {
+            if (isAccessible == false)
+            {
+                getter.setAccessible(false);
+            }
+        }
     }
 
     private static Method getConverterMethod(Method setter, Object sourceBean, Converter converter)
-- 
GitLab