Hi Dileepa,
Hmm, I guess one workaround is to simply define a dummy entity.

Or, if you register the Isis settings service [1] (or the auditing service
[2] or command service [3] or the background command service [4]), then
you'll get one or seveal JDO entities this way.

HTH
Dan

[1]
http://isis.apache.org/components/objectstores/jdo/services/settings-services-jdo.html
[2]
http://isis.apache.org/components/objectstores/jdo/services/auditing-service-jdo.html
[3]
http://isis.apache.org/components/objectstores/jdo/services/command-service-jdo.html
[4]
http://isis.apache.org/components/objectstores/jdo/services/background-command-service-jdo.html


On 25 May 2014 16:18, Dileepa Jayakody <[email protected]> wrote:

> Hi Dan and All,
>
> Thanks a lot for pointing it out. I added @Programmatic to the method
> exposing JSON Array and the previous error is now fixed.I'm getting a new
> one now, this one's about the Isis meta-model. I haven't yet added any
> persistence-capable entities to my domain model but following error points
> out something related to that. Any advice is appreciated.
>
>
>  [exec] 19:23:25,776  [IsisWicketApplication Thread-3   ERROR]
>  ################################################ ISIS METAMODEL VALIDATION
> ERRORS ################################################################
>      [exec] 19:23:25,776  [IsisWicketApplication Thread-3   ERROR]
>      [exec] 19:23:25,776  [IsisWicketApplication Thread-3   ERROR]
>  DataNucleus object store: no @PersistenceCapable found. (Are the entities
> referenced by the registered services? are all services registered? did the
> DataNucleus enhancer run?)
>      [exec] 19:23:25,776  [IsisWicketApplication Thread-3   ERROR]
>      [exec] 19:23:25,776  [IsisWicketApplication Thread-3   ERROR]  Please
> inspect the above messages and correct your domain model.
>
>
> Thanks,
> Dileepa
>
>
> On Fri, May 23, 2014 at 5:19 PM, Dan Haywood <[email protected]
> > wrote:
>
>> Hi Dileepa,
>> This is because one of your domain objects or services is exposing
>> JSONArray to Isis's metamodel, and (as the error says) we don't support
>> collections as parameters for methods (in this case put(int, Collection))
>> that it is attempting to interpret as an action.
>>
>> Looking at your code, it's probably EmailViewModel#getAddressObject() or
>> similar.
>>
>> The solution is just to annotate this method as @Programmatic, basically
>> this excludes it from the metamodel completely.
>>
>> ~~~
>> I also noticed that you've instantiated ContextIO directly in
>> EmailService, with hardcoded password/key (I think you skyped me about this
>> yesterday, but I was offline).
>>
>> Better would be to inject it in ContextIO.  We only support setter
>> injection, but you could then have ContextIO grab its settings from the
>> ApplicationSettingsService that you'll find in Isis' applib.
>>
>> Thus:
>> EmailService -> ContextIO -> ApplicationSettingsService.
>>
>> HTH
>> Dan
>>
>>
>>
>>
>> On 23 May 2014 12:35, Dileepa Jayakody <[email protected]> wrote:
>>
>>> Hi all,
>>>
>>> I have been working on my GSOC project : ReputationBox using
>>> the simple_wicket_restful_jdo-archetype.
>>> I have defined some of the domain classes for the application and setup
>>> a mock EmailService and EmailViewModel to display email data on the web app.
>>> The project code @github :
>>> https://github.com/dileepajayakody/isis-reputationbox
>>>
>>>
>>> I populate a List of EmailViewModels with the ContextIO email response
>>> in EmailService.allMessages() expecting them to be listed on the
>>> WicketViewer when I run the application.
>>>
>>> However when running the application, I get an Error [1] as below and
>>> get a HTTP 503. Can I have some insight on how to tackle this error?
>>>
>>> Thanks,
>>> Dileepa
>>>
>>>
>>> [1]
>>> [exec] 1) Error in custom provider,
>>> org.apache.isis.core.commons.exceptions.UnknownTypeException: collections
>>> not supported as parameters:
>>> org.json.JSONArray#put(int,java.util.Collection)
>>>      [exec]   at
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:138)
>>>      [exec]   at
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:138)
>>>      [exec]   while locating
>>> org.apache.isis.core.runtime.system.IsisSystem
>>>      [exec]     for field at
>>> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:153)
>>>      [exec]   while locating webapp.SimpleApplication
>>>      [exec]
>>>      [exec] 1 error
>>>      [exec] at
>>> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451)
>>>      [exec] at
>>> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65)
>>>      [exec] at
>>> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
>>>      [exec] at
>>> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:239)
>>>      [exec] at
>>> org.apache.wicket.Application.initApplication(Application.java:818)
>>>      [exec] at
>>> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
>>>      [exec] at
>>> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>>>      [exec] at
>>> org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:102)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:745)
>>>      [exec] at
>>> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
>>>      [exec] at
>>> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1213)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:589)
>>>      [exec] at
>>> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)
>>>      [exec] at org.eclipse.jetty.server.Server.doStart(Server.java:261)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.simplericity.jettyconsole.DefaultJettyManager.startServer(DefaultJettyManager.java:124)
>>>      [exec] at
>>> org.simplericity.jettyconsole.JettyConsole$5$1.run(JettyConsole.java:228)
>>>      [exec] Caused by:
>>> org.apache.isis.core.commons.exceptions.UnknownTypeException: collections
>>> not supported as parameters:
>>> org.json.JSONArray#put(int,java.util.Collection)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.getParameters(ObjectActionImpl.java:212)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.facetdecorator.FacetDecoratorSet.decorate(FacetDecoratorSet.java:108)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:563)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:462)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:440)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:477)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.createAssociationFacetedMethods(FacetedMethodsBuilder.java:266)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getAssociationFacetedMethods(FacetedMethodsBuilder.java:250)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createAssociations(ObjectSpecificationDefault.java:221)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:184)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:562)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:462)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:440)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:477)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.createAssociationFacetedMethods(FacetedMethodsBuilder.java:266)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getAssociationFacetedMethods(FacetedMethodsBuilder.java:250)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createAssociations(ObjectSpecificationDefault.java:221)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:184)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:562)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:462)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:440)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:477)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:490)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.representsAction(FacetedMethodsBuilder.java:469)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethod(FacetedMethodsBuilder.java:418)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:402)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:381)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getActionFacetedMethods(FacetedMethodsBuilder.java:357)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createActions(ObjectSpecificationDefault.java:244)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:189)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:562)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:462)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:440)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.primeCache(ObjectReflectorDefault.java:312)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initAndValidate(ObjectReflectorDefault.java:285)
>>>      [exec] at
>>> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(ObjectReflectorDefault.java:243)
>>>      [exec] at
>>> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.init(IsisSessionFactoryDefault.java:215)
>>>      [exec] at
>>> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:139)
>>>      [exec] at
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:139)
>>>      [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>> Method)
>>>      [exec] at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>      [exec] at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>      [exec] at java.lang.reflect.Method.invoke(Method.java:606)
>>>      [exec] at
>>> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
>>>      [exec] at
>>> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>>>      [exec] at
>>> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>>>      [exec] at
>>> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
>>>      [exec] at
>>> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>>>      [exec] at com.google.inject.Scopes$1$1.get(Scopes.java:65)
>>>      [exec] at
>>> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>>>      [exec] at
>>> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
>>>      [exec] at
>>> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
>>>      [exec] at
>>> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
>>>      [exec] at
>>> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
>>>      [exec] at
>>> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
>>>      [exec] at
>>> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
>>>      [exec] at
>>> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
>>>      [exec] ... 23 more
>>>      [exec] 16:43:18,330  [WicketFilter         Thread-3   WARN ]
>>>  initialization failed, destroying now
>>>      [exec] 8680 [Thread-3] WARN
>>> org.eclipse.jetty.util.component.AbstractLifeCycle - FAILED WicketFilter:
>>> javax.servlet.ServletException: com.google.inject.ProvisionException: Guice
>>> provision errors:
>>>      [exec]
>>>      [exec] 1) Error in custom provider,
>>> org.apache.isis.core.commons.exceptions.UnknownTypeException: collections
>>> not supported as parameters:
>>> org.json.JSONArray#put(int,java.util.Collection)
>>>      [exec]   at
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:138)
>>>      [exec]   at
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:138)
>>>      [exec]   while locating
>>> org.apache.isis.core.runtime.system.IsisSystem
>>>      [exec]     for field at
>>> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:153)
>>>      [exec]   while locating webapp.SimpleApplication
>>>      [exec]
>>>      [exec] 1 error
>>>      [exec] javax.servlet.ServletException:
>>> com.google.inject.ProvisionException: Guice provision errors:
>>>      [exec]
>>>      [exec] 1) Error in custom provider,
>>> org.apache.isis.core.commons.exceptions.UnknownTypeException: collections
>>> not supported as parameters:
>>> org.json.JSONArray#put(int,java.util.Collection)
>>>      [exec]   at
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:138)
>>>      [exec]   at
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:138)
>>>      [exec]   while locating
>>> org.apache.isis.core.runtime.system.IsisSystem
>>>      [exec]     for field at
>>> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:153)
>>>      [exec]   while locating webapp.SimpleApplication
>>>      [exec]
>>>      [exec] 1 error
>>>      [exec] at
>>> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:449)
>>>      [exec] at
>>> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>>>      [exec] at
>>> org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:102)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:745)
>>>      [exec] at
>>> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
>>>      [exec] at
>>> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1213)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:589)
>>>      [exec] at
>>> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)
>>>      [exec] at org.eclipse.jetty.server.Server.doStart(Server.java:261)
>>>      [exec] at
>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
>>>      [exec] at
>>> org.simplericity.jettyconsole.DefaultJettyManager.startServer(DefaultJettyManager.java:124)
>>>      [exec] at
>>> org.simplericity.jettyconsole.JettyConsole$5$1.run(JettyConsole.java:228)
>>>      [exec] Caused by: com.google.inject.ProvisionException: Guice
>>> provision errors:
>>>      [exec]
>>>
>>>
>>
>>
>

Reply via email to