You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by st...@apache.org on 2019/07/16 12:08:35 UTC

[deltaspike] branch master updated: DELTASPIKE-1377 also fix issue with nested arrays

This is an automated email from the ASF dual-hosted git repository.

struberg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/deltaspike.git


The following commit(s) were added to refs/heads/master by this push:
     new 7909fc4  DELTASPIKE-1377 also fix issue with nested arrays
7909fc4 is described below

commit 7909fc405176ab4f718f3901350983e81378ac37
Author: Mark Struberg <st...@apache.org>
AuthorDate: Tue Jul 16 14:06:52 2019 +0200

    DELTASPIKE-1377 also fix issue with nested arrays
    
    txs to Vladimir Dvorak (skybber) for the report and parts of the patch.
---
 .../apache/deltaspike/core/util/Annotateds.java    | 25 +++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/Annotateds.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/Annotateds.java
index 712573c..ede25c4 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/Annotateds.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/Annotateds.java
@@ -687,8 +687,31 @@ public final class Annotateds
         {
             return Arrays.toString((double[]) value);
         }
+        if (value instanceof String[])
+        {
+            return Arrays.toString((String[]) value);
+        }
 
-        return Arrays.toString((Object[]) value);
+        return createClassArrayId((Class<?>[]) value);
+    }
+
+    /**
+     * Appends comma separated list of class names from classArray to builder
+     */
+    private static String createClassArrayId(Class<?>[] classArray)
+    {
+        StringBuilder builder = new StringBuilder();
+        builder.append('[');
+        for (int i = 0; i < classArray.length; i++)
+        {
+            builder.append(classArray[i].getName());
+            if (i + 1 != classArray.length)
+            {
+                builder.append(',');
+            }
+        }
+        builder.append(']');
+        return builder.toString();
     }
 
     /**