Hi Mathias,
I just committed a solution for this issue to the master. It has one
restriction: the generic type of the array can not be a primitive type,
but only "normal" classes (String, Integer, Long, ...). Feel free to
check the new master out and test if it fits to your needs.
Kind regards,
Felix
Am 2013-02-08 04:51, schrieb Andreas Pieber:
> Hey Mathias,
>
> a) I've published the manual snapshots again --> you should be able now to
> access them without an account
> b) If you've an jira account you also have a confluence account; use the
> same data
> c) Yes, please create an issue
>
> Thanks and kind regards,
> Andreas
>
>
> On Fri, Feb 8, 2013 at 3:36 AM, Matthias <
matthias....@gmail.com>wrote:
>
>> Hello Felix,
>>
>> ty for the fast response at this unusual time. I can't see this
>> documentation because I don't have an account for OESB Confluence.
>>
>> I decided to use arrays because the .NET bridge didn't support Lists and
>> our project uses C# remote connectors. Maybe that changed in the meanwhile,
>> otherwise I'll create an issue for it.
>>
>> Am Freitag, 8. Februar 2013 03:19:21 UTC+1 schrieb Felix Mayerhuber:
>>
>>> Hi Matthias,
>>>
>>> as stated in the documentation (see here:
>>>
http://requirements.openengsb.**org/confluence/display/MANUAL/**
>>> .Models+v3.0.0<
http://requirements.openengsb.org/confluence/display/MANUAL/.Models+v3.0.0>)
>>>
>>> normal arrays are not supported now in models (at least if you want to
>>> save and load them). You could use a list instead of the array? If you
>>> want that arrays are also supported, please create an issue for that in
>>> the OpenEngSB dev JIRA (
http://issues.openengsb.org)
>>>
>>> Kind regards
>>> Felix
>>>
>>> Am 2013-02-08 01:43, schrieb Matthias:
>>>> Hello,
>>>>
>>>> In our model I use an array of models to represent a hirarchy while
>>>> communicating with connectors. When the data is checked in into the
>>>> database I don't need the hirarchy any more and the array field is set
>>> to
>>>> null (I als tried an empty array). The checkin works fine, but when I
>>> want
>>>> to check out I always get the same Exception:
>>>>
>>>> 2013-02-08 01:10:01,234 | ERROR | qtp1353424621-61 |
>>>> DefaultExceptionMapper | 49 - org.ops4j.pax.wicket.service -
>>>> 1.0.2 | Unexpected error occurred
>>>> org.apache.wicket.**WicketRuntimeException: Can't instantiate page
>>> using
>>>> constructor 'public
>>>> at.ac.tuwien.ifs.cdl.ui.sms.**hwconfig.pages.MergePage()'. Might be it
>>>> doesn't exist, may be it is not visible (public).
>>>> at
>>>> org.apache.wicket.session.**DefaultPageFactory.newPage(**
>>> DefaultPageFactory.java:196)[**49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> at
>>>> org.apache.wicket.session.**DefaultPageFactory.newPage(**
>>> DefaultPageFactory.java:68)[**49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> at
>>>> org.apache.wicket.session.**DefaultPageFactory.newPage(**
>>> DefaultPageFactory.java:47)[**49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> at
>>>> org.apache.wicket.**DefaultMapperContext.**newPageInstance(**
>>> DefaultMapperContext.java:103)**[49:org.ops4j.pax.wicket.**service:1.0.2]
>>>
>>>> at
>>>> org.apache.wicket.request.**handler.PageProvider.**resolvePageInstance(
>>> **PageProvider.java:264)[49:org.**ops4j.pax.wicket.service:1.0.**2]
>>>> at
>>>> org.apache.wicket.request.**handler.PageProvider.**
>>> getPageInstance(PageProvider.**java:165)[49:org.ops4j.pax.**wicket.service:1.0.2]
>>>
>>>> at
>>>> org.apache.wicket.request.**handler.render.PageRenderer.**
>>> getPage(PageRenderer.java:78)[**49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> at
>>>> org.apache.wicket.request.**handler.render.**
>>> WebPageRenderer.renderPage(**WebPageRenderer.java:105)[49:**
>>> org.ops4j.pax.wicket.service:**1.0.2]
>>>> at
>>>> org.apache.wicket.request.**handler.render.**WebPageRenderer.respond(**
>>> WebPageRenderer.java:224)[49:**org.ops4j.pax.wicket.service:**1.0.2]
>>>> at
>>>> org.apache.wicket.request.**handler.**RenderPageRequestHandler.**
>>> respond(**RenderPageRequestHandler.java:**167)[49:org.ops4j.pax.wicket.**service:1.0.2]
>>>
>>>> at
>>>> org.apache.wicket.request.**cycle.RequestCycle$**
>>> HandlerExecutor.respond(**RequestCycle.java:784)[49:org.**
>>> ops4j.pax.wicket.service:1.0.**2]
>>>> at
>>>> org.apache.wicket.request.**RequestHandlerStack.execute(**
>>> RequestHandlerStack.java:64)[**49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> at
>>>> org.apache.wicket.request.**cycle.RequestCycle.execute(**
>>> RequestCycle.java:255)[49:org.**ops4j.pax.wicket.service:1.0.**2]
>>>> at
>>>> org.apache.wicket.request.**cycle.RequestCycle.**
>>> processRequest(RequestCycle.**java:212)[49:org.ops4j.pax.**wicket.service:1.0.2]
>>>
>>>> at
>>>> org.apache.wicket.request.**cycle.RequestCycle.**
>>> processRequestAndDetach(**RequestCycle.java:283)[49:org.**
>>> ops4j.pax.wicket.service:1.0.**2]
>>>> at
>>>> org.apache.wicket.protocol.**http.WicketFilter.**
>>> processRequest(WicketFilter.**java:188)[49:org.ops4j.pax.**wicket.service:1.0.2]
>>>
>>>> at
>>>> org.apache.wicket.protocol.**http.WicketServlet.doGet(**
>>> WicketServlet.java:137)[49:**org.ops4j.pax.wicket.service:**1.0.2]
>>>> at
>>>> javax.servlet.http.**HttpServlet.service(**
>>> HttpServlet.java:575)[92:org.**apache.geronimo.specs.**geronimo-servlet_3.0_spec:1.0]
>>>
>>>> at
>>>> javax.servlet.http.**HttpServlet.service(**
>>> HttpServlet.java:668)[92:org.**apache.geronimo.specs.**geronimo-servlet_3.0_spec:1.0]
>>>
>>>> at
>>>> org.ops4j.pax.wicket.internal.**FilterDelegator$Chain.**
>>> doFilter(FilterDelegator.java:**79)[49:org.ops4j.pax.wicket.**service:1.0.2]
>>>
>>>> at
>>>> org.apache.shiro.web.servlet.**AbstractShiroFilter.**executeChain(**AbstractShiroFilter.java:449)
>>>> at
>>>> org.apache.shiro.web.servlet.**AbstractShiroFilter$1.call(**AbstractShiroFilter.java:365)
>>>> at
>>>> org.apache.shiro.subject.**support.SubjectCallable.**
>>> doCall(SubjectCallable.java:**90)
>>>> at
>>>> org.apache.shiro.subject.**support.SubjectCallable.call(**SubjectCallable.java:83)
>>>> at
>>>> org.apache.shiro.subject.**support.DelegatingSubject.**
>>> execute(DelegatingSubject.**java:380)
>>>> at
>>>> org.apache.shiro.web.servlet.**AbstractShiroFilter.**doFilterInternal(*
>>> *AbstractShiroFilter.java:362)
>>>> at
>>>> org.apache.shiro.web.servlet.**OncePerRequestFilter.doFilter(**OncePerRequestFilter.java:125)
>>>> at
>>>> org.ops4j.pax.wicket.internal.**FilterDelegator$Chain.**
>>> doFilter(FilterDelegator.java:**77)[49:org.ops4j.pax.wicket.**service:1.0.2]
>>>
>>>> at
>>>> org.openengsb.ui.common.util.**ContextIdFilter.doFilter(**ContextIdFilter.java:67)
>>>> at
>>>> org.ops4j.pax.wicket.internal.**FilterDelegator$Chain.**
>>> doFilter(FilterDelegator.java:**77)[49:org.ops4j.pax.wicket.**service:1.0.2]
>>>
>>>> at
>>>> org.ops4j.pax.wicket.internal.**FilterDelegator.doFilter(**
>>> FilterDelegator.java:61)[49:**org.ops4j.pax.wicket.service:**1.0.2]
>>>> at
>>>> org.ops4j.pax.wicket.internal.**ServletProxy$**
>>> ServletInvocationHandler.**invoke(ServletProxy.java:72)[**
>>> 49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> at $Proxy59.service(Unknown
>>>> Source)[49:org.ops4j.pax.**wicket.service:1.0.2]
>>>> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native
>>>> Method)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>> NativeMethodAccessorImpl.java:**39)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>> DelegatingMethodAccessorImpl.**java:25)[:1.6.0_31]
>>>> at java.lang.reflect.Method.**invoke(Method.java:597)[:1.6.**0_31]
>>>> at
>>>> org.ops4j.pax.web.service.**internal.HttpServiceStarted$2.**
>>> invoke(HttpServiceStarted.**java:242)[100:org.ops4j.pax.**web.pax-web-runtime:2.1.0]
>>>
>>>> at org.ops4j.pax.web.service.**internal.$Proxy60.service(**Unknown
>>>> Source)[100:org.ops4j.pax.web.**pax-web-runtime:2.1.0]
>>>> at
>>>> org.eclipse.jetty.servlet.**ServletHolder.handle(**
>>> ServletHolder.java:648)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.eclipse.jetty.servlet.**ServletHandler.doHandle(**
>>> ServletHandler.java:455)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.ops4j.pax.web.service.**jetty.internal.**HttpServiceServletHandler.
>>> **doHandle(**HttpServiceServletHandler.**java:70)[101:org.ops4j.pax.**web.pax-web-jetty:2.1.0]
>>>
>>>> at
>>>> org.eclipse.jetty.server.**handler.ScopedHandler.handle(**
>>> ScopedHandler.java:137)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.eclipse.jetty.security.**SecurityHandler.handle(**
>>> SecurityHandler.java:559)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**session.SessionHandler.**
>>> doHandle(SessionHandler.java:**231)[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**handler.ContextHandler.**
>>> doHandle(ContextHandler.java:**1072)[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.ops4j.pax.web.service.**jetty.internal.**
>>> HttpServiceContext.doHandle(**HttpServiceContext.java:173)[**
>>> 101:org.ops4j.pax.web.pax-web-**jetty:2.1.0]
>>>> at
>>>> org.eclipse.jetty.servlet.**ServletHandler.doScope(**
>>> ServletHandler.java:382)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**session.SessionHandler.**
>>> doScope(SessionHandler.java:**193)[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**handler.ContextHandler.**
>>> doScope(ContextHandler.java:**1006)[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**handler.ScopedHandler.handle(**
>>> ScopedHandler.java:135)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.ops4j.pax.web.service.**jetty.internal.**
>>> JettyServerHandlerCollection.**handle(**JettyServerHandlerCollection.**
>>> java:74)[101:org.ops4j.pax.**web.pax-web-jetty:2.1.0]
>>>> at
>>>> org.eclipse.jetty.server.**handler.HandlerWrapper.handle(**
>>> HandlerWrapper.java:116)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**Server.handle(Server.java:365)**
>>> [97:org.eclipse.jetty.**aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**AbstractHttpConnection.**handleRequest(**
>>> AbstractHttpConnection.java:**485)[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**AbstractHttpConnection.**headerComplete(**
>>> AbstractHttpConnection.java:**926)[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.server.**AbstractHttpConnection$**
>>> RequestHandler.headerComplete(**AbstractHttpConnection.java:**
>>> 988)[97:org.eclipse.jetty.**aggregate.jetty-all-server:8.**1.7.v20120910]
>>>
>>>> at
>>>> org.eclipse.jetty.http.**HttpParser.parseNext(**
>>> HttpParser.java:635)[97:org.**eclipse.jetty.aggregate.jetty-**all-server:8.1.7.v20120910]
>>>
>>>> at
>>>> org.eclipse.jetty.http.**HttpParser.parseAvailable(**
>>> HttpParser.java:235)[97:org.**eclipse.jetty.aggregate.jetty-**all-server:8.1.7.v20120910]
>>>
>>>> at
>>>> org.eclipse.jetty.server.**AsyncHttpConnection.handle(**
>>> AsyncHttpConnection.java:82)[**97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.io.nio.**SelectChannelEndPoint.handle(**
>>> SelectChannelEndPoint.java:**627)[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.io.nio.**SelectChannelEndPoint$1.run(**
>>> SelectChannelEndPoint.java:51)**[97:org.eclipse.jetty.**
>>> aggregate.jetty-all-server:8.**1.7.v20120910]
>>>> at
>>>> org.eclipse.jetty.util.thread.**QueuedThreadPool.runJob(**
>>> QueuedThreadPool.java:608)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at
>>>> org.eclipse.jetty.util.thread.**QueuedThreadPool$3.run(**
>>> QueuedThreadPool.java:543)[97:**org.eclipse.jetty.aggregate.**
>>> jetty-all-server:8.1.7.**v20120910]
>>>> at java.lang.Thread.run(Thread.**java:662)[:1.6.0_31]
>>>> Caused by: java.lang.reflect.**InvocationTargetException
>>>> at sun.reflect.**NativeConstructorAccessorImpl.**newInstance0(Native
>>>> Method)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**NativeConstructorAccessorImpl.**newInstance(**
>>> NativeConstructorAccessorImpl.**java:39)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**DelegatingConstructorAccessorI**mpl.newInstance(**
>>> DelegatingConstructorAccessorI**mpl.java:27)[:1.6.0_31]
>>>> at
>>>> java.lang.reflect.Constructor.**newInstance(Constructor.java:**513)[:1.6.0_31]
>>>> at
>>>> org.apache.wicket.session.**DefaultPageFactory.newPage(**
>>> DefaultPageFactory.java:177)[**49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> ... 64 more
>>>> Caused by: java.lang.**IllegalArgumentException: Can not set
>>>> [Lat.ac.tuwien.ifs.cdl.domain.**cdg.model.Component; field
>>>> at.ac.tuwien.ifs.cdl.domain.**cdg.model.Component.**childComponents to
>>>> java.lang.String
>>>> at
>>>> sun.reflect.**UnsafeFieldAccessorImpl.**throwSetIllegalArgumentExcepti*
>>> *on(UnsafeFieldAccessorImpl.**java:146)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**UnsafeFieldAccessorImpl.**throwSetIllegalArgumentExcepti*
>>> *on(UnsafeFieldAccessorImpl.**java:150)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**UnsafeObjectFieldAccessorImpl.**set(**
>>> UnsafeObjectFieldAccessorImpl.**java:63)[:1.6.0_31]
>>>> at java.lang.reflect.Field.set(**Field.java:657)[:1.6.0_31]
>>>> at
>>>> org.openengsb.core.util.**ModelUtils.**tryToSetValueThroughField(**ModelUtils.java:183)
>>>> at
>>>> org.openengsb.core.util.**ModelUtils.createModel(**ModelUtils.java:155)
>>>> at
>>>> org.openengsb.core.ekb.common.**EDBConverter.**
>>> convertEDBObjectToUncheckedMod**el(EDBConverter.java:132)
>>>> at
>>>> org.openengsb.core.ekb.common.**EDBConverter.**convertEDBObjectToModel(
>>> **EDBConverter.java:63)
>>>> at
>>>> org.openengsb.core.ekb.common.**EDBConverter.**
>>> convertEDBObjectsToModelObject**s(EDBConverter.java:73)
>>>> at
>>>> org.openengsb.core.ekb.**persistence.query.edb.**internal.**
>>> QueryInterfaceService.**queryForModelsAtTimestamp(**QueryInterfaceService.java:99)
>>>
>>>> at
>>>> org.openengsb.core.ekb.**persistence.query.edb.**internal.**
>>> QueryInterfaceService.**queryForModels(**QueryInterfaceService.java:86)
>>>> at Proxye1346624_7526_4637_8c15_**c6192eae0d36.queryForModels(
>>> **Unknown
>>>> Source)
>>>> at Proxy00c93ae7_02a8_4c94_b163_**30aaae6ef04c.queryForModels(
>>> **Unknown
>>>> Source)
>>>> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native
>>>> Method)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**NativeMethodAccessorImpl.**invoke(**
>>> NativeMethodAccessorImpl.java:**39)[:1.6.0_31]
>>>> at
>>>> sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
>>> DelegatingMethodAccessorImpl.**java:25)[:1.6.0_31]
>>>> at java.lang.reflect.Method.**invoke(Method.java:597)[:1.6.**0_31]
>>>> at
>>>> org.ops4j.pax.wicket.util.**proxy.LazyInitProxyFactory$**
>>> JdkHandler.invoke(**LazyInitProxyFactory.java:238)**
>>> [49:org.ops4j.pax.wicket.**service:1.0.2]
>>>> at org.ops4j.pax.wicket.util.**proxy.$Proxy88.queryForModels(*
>>> *Unknown
>>>> Source)
>>>> at
>>>> at.ac.tuwien.ifs.cdl.ui.sms.**hwconfig.pages.MergePage.**
>>> initContent(MergePage.java:**121)
>>>> at
>>>> at.ac.tuwien.ifs.cdl.ui.sms.**hwconfig.pages.MergePage.<**init>(MergePage.java:60)