[jboss-user] [JBoss Seam] - More newbie GET problems

nynymike do-not-reply at jboss.com
Mon Aug 20 07:37:05 EDT 2007


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#4075784

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4075784



More information about the jboss-user mailing list