[
http://issues.ops4j.org/jira/browse/QI-132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11574#action_11574
]
Niclas Hedhman commented on QI-132:
-----------------------------------
Rickard Öberg commented on QI-132:
----------------------------------
I'm not sure it's such a good idea to support arrays. I would prefer to use
Property<List<String>> in such cases. Any particular reason you want to use
arrays?
> Property<String[]> strings(); doesn't work...
> ---------------------------------------------
>
> Key: QI-132
> URL: http://issues.ops4j.org/jira/browse/QI-132
> Project: Qi4j
> Issue Type: Bug
> Reporter: Niclas Hedhman
> Assignee: Niclas Hedhman
>
> If I put a String[] in as the type in a Property of a Configuration Entity, I
> get the following Exception.
> org.qi4j.composite.ConstructionException: Could not instantiate class
> org.qi4j.service.Configuration$ConfigurationMixin
> at
> org.qi4j.runtime.composite.ConstructorModel.newInstance(ConstructorModel.java:75)
> at
> org.qi4j.runtime.composite.ConstructorsModel.newInstance(ConstructorsModel.java:149)
> at
> org.qi4j.runtime.composite.MixinModel.newInstance(MixinModel.java:95)
> at
> org.qi4j.runtime.composite.MixinsModel.newMixins(MixinsModel.java:49)
> at
> org.qi4j.runtime.composite.CompositeModel.newCompositeInstance(CompositeModel.java:199)
> at
> org.qi4j.runtime.composite.CompositeBuilderInstance.newInstance(CompositeBuilderInstance.java:131)
> at
> org.qi4j.spi.service.provider.DefaultServiceInstanceFactory.newInstance(DefaultServiceInstanceFactory.java:44)
> at
> org.qi4j.runtime.service.ServiceModel.newInstance(ServiceModel.java:149)
> at
> org.qi4j.runtime.service.ServiceReferenceInstance.getInstance(ServiceReferenceInstance.java:139)
> at
> org.qi4j.runtime.service.ServiceReferenceInstance.activate(ServiceReferenceInstance.java:103)
> at org.qi4j.spi.service.Activator.activate(Activator.java:51)
> at org.qi4j.spi.service.Activator.activate(Activator.java:35)
> at
> org.qi4j.runtime.structure.ServicesInstance.activate(ServicesInstance.java:54)
> at
> org.qi4j.runtime.structure.ModuleInstance.activate(ModuleInstance.java:199)
> at org.qi4j.spi.service.Activator.activate(Activator.java:51)
> at org.qi4j.spi.service.Activator.activate(Activator.java:35)
> at
> org.qi4j.runtime.structure.LayerInstance.activate(LayerInstance.java:230)
> at org.qi4j.spi.service.Activator.activate(Activator.java:51)
> at org.qi4j.spi.service.Activator.activate(Activator.java:35)
> at
> org.qi4j.runtime.structure.ApplicationInstance.activate(ApplicationInstance.java:88)
> at org.qi4j.test.AbstractQi4jTest.setUp(AbstractQi4jTest.java:56)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.junit.internal.runners.MethodRoadie.runBefores(MethodRoadie.java:122)
> at
> org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:86)
> at
> org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> at
> org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> at
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> at
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> at
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> at
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> at
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> at
> com.intellij.rt.junit4.Junit4ClassSuite.run(Junit4ClassSuite.java:99)
> at
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
> Caused by: java.lang.IllegalArgumentException: Could not extract the raw
> class of java.lang.String[]
> at org.qi4j.util.ClassUtil.getRawClass(ClassUtil.java:179)
> at
> org.qi4j.runtime.entity.EntityPropertyModel.propertyType(EntityPropertyModel.java:96)
> at
> org.qi4j.runtime.entity.EntityPropertiesModel.propertyTypes(EntityPropertiesModel.java:147)
> at
> org.qi4j.runtime.entity.EntityStateModel.propertyTypes(EntityStateModel.java:111)
> at org.qi4j.runtime.entity.EntityModel.entityType(EntityModel.java:156)
> at
> org.qi4j.runtime.entity.EntityModel.getEntityState(EntityModel.java:302)
> at
> org.qi4j.runtime.structure.EntitiesInstance.loadEntityInstance(EntitiesInstance.java:71)
> at
> org.qi4j.runtime.entity.UnitOfWorkInstance.find(UnitOfWorkInstance.java:188)
> at
> org.qi4j.service.Configuration$ConfigurationMixin.<init>(Configuration.java:86)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> at
> org.qi4j.runtime.composite.ConstructorModel.newInstance(ConstructorModel.java:71)
> ... 41 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.ops4j.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev