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