In general, it shouldn't be a problem to mix and match Cayenne objects with 
other object types.
The integration tries hard to distinguish between objects it should analyze in 
a cayenne-specific
manner, and those that should just pass through.

Just looked at the line of code and at the point of failure.

I'm guessing that you're calling "resources.getContainerMessages()" from inside 
a page class?

If that's the case, just use resources.getMessages().

getContainerMessages() is useful for component building, if you have a 
component that is building an model from an object passed to it by its parent, 
and you want to be able to override the defaults in the parent's messages.  But 
a page has no parent, so getContainerMessages() is null.

Robert

On Feb 23, 2012, at 2/235:42 PM , Richard Frovarp wrote:

> On 02/23/2012 05:30 PM, Robert Zeigler wrote:
>> Hey Richard,
>> 
>> What version are you using of:
>>   the integration module
>>   Tapestry
>>   Cayenne
>> 
>> ?
>> 
>> Also, can you tell me what the actual exception was?
>> 
>> Robert
>> 
> tapestry5-cayenne-core (and -server) 0.4
> Tapestry 5.2.6
> 
> Line of code that threw the exception:
> 
> model = beanModelSource.create(BaseObject.class, true, 
> resources.getContainerMessages());
> 
> And the exception to where it hit my code:
> 
> java.lang.NullPointerException
> org.apache.tapestry5.internal.TapestryInternalUtils.defaultLabel(TapestryInternalUtils.java:304)
> org.apache.tapestry5.internal.beaneditor.PropertyModelImpl.<init>(PropertyModelImpl.java:52)
> org.apache.tapestry5.internal.beaneditor.BeanModelImpl.add(BeanModelImpl.java:126)
> org.apache.tapestry5.internal.beaneditor.BeanModelImpl.add(BeanModelImpl.java:78)
> org.apache.tapestry5.internal.services.BeanModelSourceImpl.create(BeanModelSourceImpl.java:184)
> org.apache.tapestry5.internal.services.BeanModelSourceImpl.createEditModel(BeanModelSourceImpl.java:153)
> com.googlecode.tapestry5cayenne.services.CayenneBeanModelSource.create(CayenneBeanModelSource.java:59)
> edu.ndsu.eci.research.form_generator.pages.Index.initializer(Index.java:45)
> 
> This isn't something I would want backed by Cayenne. I would probably stick 
> it in JCR or something, but there would be pieces of the application I would 
> want to use Cayenne. I have not had a chance to look at how to not use the 
> Cayenne piece for parts of the application.
> 
> Full stack trace:
> 
> java.lang.NullPointerException
> org.apache.tapestry5.internal.TapestryInternalUtils.defaultLabel(TapestryInternalUtils.java:304)
> org.apache.tapestry5.internal.beaneditor.PropertyModelImpl.<init>(PropertyModelImpl.java:52)
> org.apache.tapestry5.internal.beaneditor.BeanModelImpl.add(BeanModelImpl.java:126)
> org.apache.tapestry5.internal.beaneditor.BeanModelImpl.add(BeanModelImpl.java:78)
> org.apache.tapestry5.internal.services.BeanModelSourceImpl.create(BeanModelSourceImpl.java:184)
> org.apache.tapestry5.internal.services.BeanModelSourceImpl.createEditModel(BeanModelSourceImpl.java:153)
> com.googlecode.tapestry5cayenne.services.CayenneBeanModelSource.create(CayenneBeanModelSource.java:59)
> edu.ndsu.eci.research.form_generator.pages.Index.initializer(Index.java:45)
> edu.ndsu.eci.research.form_generator.pages.Index.<init>(Index.java)
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.<init>(InternalComponentResourcesImpl.java:146)
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.<init>(ComponentPageElementImpl.java:593)
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.<init>(ComponentPageElementImpl.java:609)
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:93)
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.access$000(ComponentAssemblerImpl.java:38)
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:82)
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:79)
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:77)
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:182)
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173)
> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81)
> org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74)
> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
> org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
> org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
> com.googlecode.tapestry5cayenne.services.CayenneRequestFilter.service(CayenneRequestFilter.java:47)
> edu.ndsu.eci.research.form_generator.services.AppModule$1.service(AppModule.java:100)
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
> org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to