yes you can do it. but you need to add the getComunaList() method to
your action.

tibi

Leonardo Castaño wrote:
> can I do this ???
> Call a comunaList from Other pojo ??
> this is a good idea?? to show a list of selectItems?
>
>
>
>
> <h:selectOneMenu value="#{personaForm.persona.comuna['comNombre']}"
> id="comuna" required="true" styleClass="select">
>         <f:selectItems value="#{comunaList.comunas}"/>
>         <v:commonsValidator type="required"
> arg="#{text['persona.comuna']}"/>
>     </h:selectOneMenu>
>
> 2009/5/4 tibi <t...@dds.nl <mailto:t...@dds.nl>>
>
>     i just did it and its quite simple...
>
>     you need the add a getter for the list of the many relation.
>     in you jsp file i will find this:
>        <!-- todo: change this to read the identifier field from the other
>     pojo -->
>        <s:select name="contactPerson.relation.id
>     <http://contactPerson.relation.id>" list="relationList"
>     listKey="id" listValue="companyName"></s:select>
>
>     you don't need to change any thing. only make in your action a
>     get*list
>     to return the list.
>     in my case a public List<Relation> getRelationList(){return
>     genericRelationManager.getAll();}
>     (pseudo code)
>
>     mayby a good idea to write an tutorial about this. or to make the
>     appfuse:gen add this getter.
>
>     matt you say you don't have a good idea what to do. is this not a
>     good idea?
>
>
>     tibi
>
>
>
>
>     Matt Raible wrote:
>     > Here's the error that's causing the problem:
>     >
>     > |Caused by:
>     org.springframework.dao.DataIntegrityViolationException: not-null
>     property references a null or transient value:
>     cl.lejadesh.app.model.Persona.comuna; nested exception is
>     org.hibernate.PropertyValueException: not-null property references
>     a null or transient value: cl.lejadesh.app.model.Persona.comuna
>     >
>     >
>     >
>     > |
>     > It looks like you need to populate part of your object before
>     calling
>     > save.
>     >
>     > Matt
>     >
>     > 2009/5/1 Leonardo Castaño <leonardo.cast...@gmail.com
>     <mailto:leonardo.cast...@gmail.com>
>     > <mailto:leonardo.cast...@gmail.com
>     <mailto:leonardo.cast...@gmail.com>>>
>     >
>     >     I am fix the edit problem...
>     >     but i have the follow problem when press the button SAVE, may be
>     >     you have a clue to give me ...
>     >
>     >     Tks Matt
>     >
>     >     |javax.faces.FacesException: Error calling action method of
>     component with id personaForm:save
>     >             at
>     
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:69)
>     >             at
>     javax.faces.component.UICommand.broadcast(UICommand.java:121)
>     >             at
>     
> org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:274)
>     >             at
>     
> org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:250)
>     >             at
>     
> org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:405)
>     >             at
>     
> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
>     >             at
>     
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
>     >             at
>     org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
>     >             at
>     javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
>     >             at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
>     >             at
>     
> org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
>     >             at
>     
> org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> cl.lejadesh.app.webapp.filter.MessageFilter.doFilter(MessageFilter.java:46)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
>     >             at
>     
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>     >             at
>     org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>     >             at
>     
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>     >             at
>     
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:75)
>     >             at
>     net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> cl.lejadesh.app.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74)
>     >             at
>     
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
>     >             at
>     
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>     >             at
>     
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:172)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:87)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:61)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>     >             at
>     
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>     >             at
>     
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
>     >             at
>     
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
>     >             at
>     
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
>     >             at
>     
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>     >             at
>     
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>     >             at
>     org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>     >             at
>     
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>     >             at
>     org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>     >             at
>     org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>     >             at
>     org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>     >             at
>     
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>     >             at
>     
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>     >             at
>     org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>     >             at org.mortbay.jetty.Server.handle(Server.java:324)
>     >             at
>     org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>     >             at
>     
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
>     >             at
>     org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>     >             at
>     org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>     >             at
>     org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>     >             at
>     
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>     >             at
>     
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>     >     Caused by: javax.faces.el.EvaluationException:
>     javax.el.ELException: /personaForm.xhtml @29,117
>     action="#{personaForm.save}":
>     org.springframework.dao.DataIntegrityViolationException: not-null
>     property references a null or transient value:
>     cl.lejadesh.app.model.Persona.comuna; nested exception is
>     org.hibernate.PropertyValueException: not-null property references
>     a null or transient value: cl.lejadesh.app.model.Persona.comuna
>     >             at
>     
> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:79)
>     >             at
>     
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
>     >             ... 87 more
>     >     Caused by: javax.el.ELException: /personaForm.xhtml @29,117
>     action="#{personaForm.save}":
>     org.springframework.dao.DataIntegrityViolationException: not-null
>     property references a null or transient value:
>     cl.lejadesh.app.model.Persona.comuna; nested exception is
>     org.hibernate.PropertyValueException: not-null property references
>     a null or transient value: cl.lejadesh.app.model.Persona.comuna
>     >             at
>     
> com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74)
>     >             at
>     
> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75)
>     >             ... 88 more
>     >     Caused by:
>     org.springframework.dao.DataIntegrityViolationException: not-null
>     property references a null or transient value:
>     cl.lejadesh.app.model.Persona.comuna; nested exception is
>     org.hibernate.PropertyValueException: not-null property references
>     a null or transient value: cl.lejadesh.app.model.Persona.comuna
>     >             at
>     
> org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:630)
>     >             at
>     
> org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:738)
>     >             at
>     
> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:614)
>     >             at
>     
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
>     >             at
>     
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
>     >             at
>     
> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
>     >             at
>     
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
>     >             at
>     
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>     >             at
>     
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
>     >             at
>     
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>     >             at
>     
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>     >             at $Proxy49.save(Unknown Source)
>     >             at
>     cl.lejadesh.app.webapp.action.PersonaForm.save(PersonaForm.java:49)
>     >             at
>     sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     >             at
>     
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     >             at
>     
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     >             at java.lang.reflect.Method.invoke(Method.java:585)
>     >             at com.sun.el.parser.AstValue.invoke(AstValue.java:187)
>     >             at
>     com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
>     >             at
>     
> com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
>     >             ... 89 more
>     >     Caused by: org.hibernate.PropertyValueException: not-null
>     property references a null or transient value:
>     cl.lejadesh.app.model.Persona.comuna
>     >             at
>     org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
>     >             at
>     
> org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:270)
>     >             at
>     
> org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:128)
>     >             at
>     
> org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
>     >             at
>     
> org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
>     >             at
>     
> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
>     >             at
>     org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
>     >             at
>     org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
>     >             at
>     org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
>     >             at
>     
> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:606)
>     >             ... 106 more|
>     >
>     >
>     >     :)
>     >
>     >
>     >     2009/5/2 Matt Raible <m...@raibledesigns.com
>     <mailto:m...@raibledesigns.com>
>     >     <mailto:m...@raibledesigns.com <mailto:m...@raibledesigns.com>>>
>     >
>     >         Yes, this is correct.
>     >
>     >
>     >         2009/5/1 Leonardo Castaño <leonardo.cast...@gmail.com
>     <mailto:leonardo.cast...@gmail.com>
>     >         <mailto:leonardo.cast...@gmail.com
>     <mailto:leonardo.cast...@gmail.com>>>
>     >
>     >             When we are going to generate a related table, only we
>     >             need to change the JSF Templates in webapp.action and
>     >             htmlx in webapp?
>     >
>     >             We dont need to create a new Dao and DaoHibernate?
>     >
>     >
>     >
>     >             2009/5/2 Matt Raible <m...@raibledesigns.com
>     <mailto:m...@raibledesigns.com>
>     >             <mailto:m...@raibledesigns.com
>     <mailto:m...@raibledesigns.com>>>
>     >
>     >                 AMP doesn't support one-to-many and man-to-many
>     >                 relationships, so if you had those in your POJOs
>     when
>     >                 you generated the code, chances are incorrect
>     code was
>     >                 generated. The reason we don't support these is we
>     >                 haven't figured out the best pattern and code to
>     >                 generate. I'd be happy to support them if I had the
>     >                 knowledge of how to do it.
>     >
>     >                 Matt
>     >
>     >                 2009/5/1 Leonardo Castaño
>     <leonardo.cast...@gmail.com <mailto:leonardo.cast...@gmail.com>
>     >                 <mailto:leonardo.cast...@gmail.com
>     <mailto:leonardo.cast...@gmail.com>>>
>     >
>     >                     Hello, I have the following error when try
>     to edit
>     >                     the persona item, I have two tables related
>     >                     Persona and Comuna, I have run
>     >
>     >                     I have created two related tables in mysql
>     and run
>     >                     followin
>     >                     mvn appfuse:gen -Dentity=Persona
>     >                     mvn appfuse:gen -Dentity=Comuna
>     >
>     >                     all rigth in appfuse log
>     >                     then run
>     >                     mvn jetty:run
>     >                     then the error is when I try to edit one
>     "persona"
>     >                     item by browser
>     >
>     >                     An Error Occurred:
>     >
>     >                     Exception while calling encodeEnd on component :
>     >                     {Component-Path : [Class:
>     >                     org.ajax4jsf.framework.ajax.AjaxViewRoot,ViewId:
>     >                     /personaForm.xhtml][Class:
>     >                     javax.faces.component.html.HtmlForm,Id:
>     >                     personaForm][Class:
>     >                     javax.faces.component.html.HtmlPanelGrid,Id:
>     j_id2]}
>     >
>     >                     Some one help me please !!
>     >                     Tkz
>     >
>     >
>     >                     --
>     >                     Leonardo Castaño D.
>     >                     Listening http://www.concierto.cl/envivo.asp
>     music
>     >                     of the 80s <http://www.concierto.cl/envivo.asp>
>     >
>     >
>     >
>     >
>     >
>     >             --
>     >             Leonardo Castaño D.
>     >
>     >
>     >
>     >
>     >
>     >     --
>     >     Leonardo Castaño D.
>     >
>     >
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
>     <mailto:users-unsubscr...@appfuse.dev.java.net>
>     For additional commands, e-mail: users-h...@appfuse.dev.java.net
>     <mailto:users-h...@appfuse.dev.java.net>
>
>
>
>
> -- 
> Leonardo Castaño D.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
For additional commands, e-mail: users-h...@appfuse.dev.java.net

Reply via email to