That's good that this works. However, I wonder if my issue is specific to
3rd Party Bean creation?  Same problem seems to be on both OWB and Weld,
which makes me think it's an impl issue, but I can't think of anything else
required on the impl side.

Bean.getTypes() correctly returns String[].class
qualifiers are correct

The create method on the bean is never invoked, the injection point is
always null.

John

On Mon, Dec 18, 2017 at 3:59 AM Romain Manni-Bucau <rmannibu...@gmail.com>
wrote:

> Works for me:
>
> public class ArrayProducerTest extends AbstractUnitTest
> {
>
>     @Test
>     public void test()
>     {
>         startContainer(StringProducer.class);
>
>         final String[] produced1 = getInstance(String[].class);
>         final StringProducer[] produced2 =
> getInstance(StringProducer[].class);
>
>         Assert.assertEquals(1, produced1.length);
>         Assert.assertEquals("string", produced1[0]);
>
>         Assert.assertEquals(1, produced2.length);
>         Assert.assertNotNull(produced2[0]);
>
>         shutDownContainer();
>
>     }
>
>     public static class StringProducer
>     {
>         @Produces
>         public String[] produces()
>         {
>             return new String[] { "string" };
>         }
>
>         @Produces
>         public StringProducer[] produces2()
>         {
>             return new StringProducer[] { this };
>         }
>     }
>
> }
>
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau>
>
> 2017-12-18 9:15 GMT+01:00 Mark Struberg <strub...@yahoo.de.invalid>:
>
> > I think it should work.
> >
> > Could you please create a ticket?
> >
> > txs and LieGrue,
> > strub
> >
> >
> > > Am 18.12.2017 um 03:47 schrieb John D. Ament <johndam...@apache.org>:
> > >
> > > MP Config is adding arrays as a valid type for config properties.  In
> > doing
> > > so, without making any changes to Geronimo Config I get this failure
> (not
> > > what I'm expecting, I'm expecting no valid beans at this point):
> > >
> > > arquillianBeforeClass(org.eclipse.microprofile.config.
> > tck.ClassConverterTest)
> > > Time elapsed: 0.022 sec  <<< FAILURE!
> > > org.apache.webbeans.exception.WebBeansConfigurationException:
> > > java.lang.IllegalArgumentException: Can't determine the type for
> Class<?
> > > extends Object>[]
> > > at org.apache.webbeans.config.BeansDeployer.deploy(
> > BeansDeployer.java:351)
> > > at
> > > org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication(
> > AbstractLifeCycle.java:137)
> > > at
> > > org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(
> > AbstractLifeCycle.java:103)
> > > at
> > >
> org.apache.webbeans.arquillian.standalone.OwbStandaloneContainer.deploy(
> > OwbStandaloneContainer.java:118)
> > > at
> > > org.jboss.arquillian.container.impl.client.container.
> > ContainerDeployController$3.call(ContainerDeployController.java:161)
> > > at
> > > org.jboss.arquillian.container.impl.client.container.
> > ContainerDeployController$3.call(ContainerDeployController.java:128)
> > > at
> > > org.jboss.arquillian.container.impl.client.container.
> > ContainerDeployController.executeOperation(ContainerDeployController.
> > java:271)
> > > at
> > > org.jboss.arquillian.container.impl.client.container.
> > ContainerDeployController.deploy(ContainerDeployController.java:127)
> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > at
> > > sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62)
> > > at
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> > > at java.lang.reflect.Method.invoke(Method.java:498)
> > >
> > > It seems that OWB can't handle array types as fields for injection.  Is
> > > this in fact expected?  This is even though for any given class T,
> > > T[].class is a valid object.
> >
> >
>

Reply via email to