This is an automated email from the ASF dual-hosted git repository. dkulp pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 8eab54c2a285ac91b0a04b8cd7e899d45f15b73a Author: Daniel Kulp <dk...@apache.org> AuthorDate: Fri Jun 8 15:20:41 2018 -0400 [CXF-7754] Fix WrappedAttachments.toArray --- .../org/apache/cxf/jaxws/context/WrappedAttachments.java | 2 +- .../org/apache/cxf/jaxws/context/WrappedAttachmentsTest.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedAttachments.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedAttachments.java index 920d22a..f3fa3ce 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedAttachments.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedAttachments.java @@ -71,7 +71,7 @@ class WrappedAttachments implements Set<Attachment> { @SuppressWarnings("unchecked") public <T> T[] toArray(T[] a) { T[] copy = a.length == attachments.size() - ? a : (T[])Array.newInstance(a.getClass(), attachments.size()); + ? a : (T[])Array.newInstance(a.getClass().getComponentType(), attachments.size()); int i = 0; for (Map.Entry<String, DataHandler> entry : attachments.entrySet()) { Attachment o = cache.get(entry.getKey()); diff --git a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedAttachmentsTest.java b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedAttachmentsTest.java index c705d6e..d6b6db8 100644 --- a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedAttachmentsTest.java +++ b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedAttachmentsTest.java @@ -63,10 +63,20 @@ public class WrappedAttachmentsTest extends Assert { assertEquals(1, attachments.size()); - Attachment[] atts = attachments.toArray(new Attachment[0]); + Attachment[] atts = attachments.toArray(new Attachment[0]); //NOPMD - explicitly test this assertEquals(1, atts.length); assertEquals("att-1".equals(attx.getId()) ? "att-2" : "att-1", atts[0].getId()); + atts = attachments.toArray(new Attachment[attachments.size()]); //NOPMD - explicitly test this + assertEquals(1, atts.length); + assertEquals("att-1".equals(attx.getId()) ? "att-2" : "att-1", atts[0].getId()); + + Object o[] = attachments.toArray(); //NOPMD - explicitly test this + assertEquals(1, o.length); + Attachment a = (Attachment)o[0]; + assertEquals("att-1".equals(attx.getId()) ? "att-2" : "att-1", a.getId()); + + attachments.clear(); assertTrue(attachments.isEmpty()); assertTrue(content.isEmpty()); -- To stop receiving notification emails like this one, please contact dk...@apache.org.