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>

> 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" 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>>
> >
> >     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>>
> >
> >         Yes, this is correct.
> >
> >
> >         2009/5/1 Leonardo Castaño <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>>
> >
> >                 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>>
> >
> >                     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
> For additional commands, e-mail: users-h...@appfuse.dev.java.net
>
>


-- 
Leonardo Castaño D.

Reply via email to