I'm completely bamboozled by this.... I had my GET parameters working, but I had to
change the primary key of my db from "id" to "uniqueid" After I made
the change, five hours later, nothing works. I even tried re-building a completely new
project. I'm using Seam 1.2.1 and JBoss 4.0.5
My components.xml factory/Home looks like this
| <factory name="account" value="#{accountDao.instance}"/>
| <fwk:entity-home name="accountDao"
entity-class="us.ziacom.vm.model.Account">
| <fwk:created-message>
| New account #{account.mailbox} created
| </fwk:created-message>
| <fwk:deleted-message>
| Account #{account.mailbox} deleted
| </fwk:deleted-message>
| <fwk:updated-message>
| Account #{account.mailbox} updated
| </fwk:updated-message>
| </fwk:entity-home>
|
My pages.xml looks like this:
| <page view-id="/viewAccount.xhtml">
| <param name="id" value="#{accountDao.uniqueid}"
| converterId="javax.faces.Long"/>
| </page>
| <page view-id="/confirmDelete.xhtml">
| <param name="id" value="#{accountDao.uniqueid}"
| converterId="javax.faces.Long"/>
| <navigation>
| <rule if-outcome="removed">
| <redirect view-id="/home.xhtml"/>
| </rule>
| </navigation>
| </page>
| <page view-id="/accountForm.xhtml">
| converterId="javax.faces.Long"/>
| <navigation>
| <rule if-outcome="updated">
| <redirect view-id="/viewAccount.xhtml"/>
| </rule>
| <rule if-outcome="persisted">
| <redirect view-id="/viewAccount.xhtml"/>
| </rule>
| </navigation>
| </page>
|
The entity bean looks like this:
| @Entity
| @Table(name = "account", catalog = "asterisk")
| public class Account implements java.io.Serializable {
|
| private long uniqueid;
| [...]
| @Id
| @Column(name = "uniqueid", unique = true, nullable = false)
| @NotNull
| public long getUniqueid() {
| return this.uniqueid;
| }
| public void setUniqueid(long uniqueid) {
| this.uniqueid = uniqueid;
| }
| [...]
|
This appears to be just a problem with SEAM finding the uniqueid parameter in pages.xml.
This code generates the link perfectly, using the same entity home object. When you click
on this link, you get the error:
| <s:link view="/viewAccount.xhtml"
value="#{acct.mailbox}">
| <f:param name="id"
value="#{acct.uniqueid}"/>
| </s:link>
|
Here is the SQL for the table
| CREATE TABLE `account` (
| `uniqueid` bigint(20) NOT NULL auto_increment,
| `customer_id` varchar(11) NOT NULL default '0',
| `context` varchar(50) NOT NULL default 'consumer',
| `mailbox` varchar(32) NOT NULL default '0',
| `password` varchar(4) NOT NULL default '0',
| `fullname` varchar(50) NOT NULL default '',
| `email` varchar(50) NOT NULL default '',
| `pager` varchar(50) NOT NULL default '',
| `stamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
| `attach` varchar(4) NOT NULL default 'yes',
| `deletevoicemail` varchar(4) NOT NULL default 'yes',
| `maxgreet` varchar(6) NOT NULL default '60',
| `maxmessage` varchar(6) NOT NULL default '180',
| `userpassword` varchar(128) NOT NULL default 'password',
| `callerid` varchar(32) default NULL,
| `announcemode` varchar(4) NOT NULL default 'no',
| `status` varchar(12) NOT NULL default 'inactive' COMMENT 'active |
inactive | suspended | pending',
| PRIMARY KEY (`uniqueid`),
| KEY `mailbox_context` (`mailbox`,`context`)
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
|
The error I am getting is
| Exception during request processing: javax.faces.el.PropertyNotFoundException: Bean:
org.jboss.seam.framework.EntityHome_$$_javassist_3, property: uniqueid
|
|
org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:483)
|
org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:454)
| org.apache.myfaces.el.PropertyResolverImpl.setProperty(PropertyResolverImpl.java:385)
| org.apache.myfaces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:173)
| org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:275)
| org.jboss.seam.core.Expressions$1.setValue(Expressions.java:93)
| org.jboss.seam.core.Pages.applyViewRootValues(Pages.java:665)
| org.jboss.seam.core.Pages.applyRequestParameterValues(Pages.java:646)
|
org.jboss.seam.jsf.AbstractSeamPhaseListener.afterRestoreView(AbstractSeamPhaseListener.java:73)
| org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:95)
|
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
| org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:181)
| org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
| javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
|
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
|
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
| org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
|
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
|
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
|
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
| org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
|
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
|
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
|
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
|
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
|
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
|
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
|
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
|
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
|
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| java.lang.Thread.run(Thread.java:619)
|
Please help before I need to get committed somewhere !
- Mike
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4075784#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...