1 Reply Latest reply on Mar 16, 2010 12:33 PM by swd847

    Regarding seam problem

    pavan.pavankkotturi.kumar.gmail.com
      At first  Clicking on Register new user,After that Go to Administration tab on that Click on settings, then that time the following error shows,

      org.jboss.seam.InstantiationException: Could not instantiate Seam component: add
           at org.jboss.seam.Component.newInstance(Component.java:1962)
           at org.jboss.seam.Component.getInstance(Component.java:1865)
           at org.jboss.seam.Component.getInstance(Component.java:1832)
           at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)
           at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)
           at org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:166)
           at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:53)
           at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
           at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
           at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
           at org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
           at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
           at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
           at javax.faces.component.UIOutput.getValue(UIOutput.java:184)
           at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)
           at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:284)
           at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:154)
           at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)
           at org.jboss.seam.ui.util.cdk.RendererBase.renderChild(RendererBase.java:190)
           at org.jboss.seam.ui.util.cdk.RendererBase.renderChildren(RendererBase.java:166)
           at org.jboss.seam.ui.renderkit.DecorateRendererBase.doEncodeChildren(DecorateRendererBase.java:104)
           at org.jboss.seam.ui.util.cdk.RendererBase.encodeChildren(RendererBase.java:92)
           at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
           at org.jboss.seam.ui.util.cdk.RendererBase.renderChild(RendererBase.java:186)
           at org.jboss.seam.ui.util.cdk.RendererBase.renderChildren(RendererBase.java:166)
           at org.jboss.seam.ui.renderkit.ValidateAllRendererBase.doEncodeChildren(ValidateAllRendererBase.java:33)
           at org.jboss.seam.ui.util.cdk.RendererBase.encodeChildren(RendererBase.java:92)
           at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
           at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
           at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
           at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
           at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
           at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
           at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
           at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
           at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
           at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
           at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
           at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
           at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
           at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
           at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
           at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
           at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
           at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
           at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
           at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
           at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
           at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.NoSuchMethodException: org.jboss.seam.example.projectmanager1.AddUser.<init>()
           at java.lang.Class.getConstructor0(Unknown Source)
           at java.lang.Class.getConstructor(Unknown Source)
           at org.jboss.seam.Component.instantiateEntityBean(Component.java:1290)
           at org.jboss.seam.Component.instantiate(Component.java:1262)
           at org.jboss.seam.Component.newInstance(Component.java:1958)
           ... 76 more



      The Code is as follows,


      AddRegister.java

      package org.jboss.seam.example.projectmanager1;

      import javax.ejb.Local;

      @Local
      public interface AddRegister {
              public void addRegister();
              public void invalid();
              public String getVerify();
              public void setVerify(String verify);
              public boolean isRegistered();
             
              public void destroy();

      }


      AddRegisterAction.java


      package org.jboss.seam.example.projectmanager1;

      import static org.jboss.seam.ScopeType.EVENT;

      import java.util.List;

      import javax.ejb.Remove;
      import javax.ejb.Stateful;
      import javax.persistence.EntityManager;
      import javax.persistence.PersistenceContext;

      import org.jboss.seam.annotations.In;
      import org.jboss.seam.annotations.Name;
      import org.jboss.seam.annotations.Scope;
      import org.jboss.seam.faces.FacesMessages;

      @Stateful
      @Scope(EVENT)
      @Name("addRegister")
      public class AddRegisterAction implements AddRegister {
           
           @In
           private AddUser add;
           
           @PersistenceContext
           EntityManager em;
           
           @In
           private FacesMessages facesMessages;
           
           private String verify;
           
           private boolean registered;
           
           public void addRegister()
           {
                if(add.getPassword().equals(verify))
                {
                     List existing=em.createQuery("selecu u.name,u.email from AddUser u where u.name=#{add.name}  or  u.email=#{add.email}").getResultList();
                     if(existing.size()==0)
                     {
                          em.persist(add);
                         facesMessages.add("Successfully registered as #{add.name}");
                          registered=true;
                     }
                     else
                     {
                          facesMessages.addToControl("name", "Name #{add.name}/Email #{add.email} already exists");
                     }
                }
                else
                 {
                    facesMessages.addToControl("verify", "Re-enter your password");
                    verify=null;
                 }
           }

           

           
           public String getVerify() {
                
                return verify;
           }
           public void setVerify(String verify) {
                 this.verify = verify;
                
           }

           
           public void invalid() {
                 facesMessages.add("Please try again");
                
           }

           
           public boolean isRegistered() {
                
                return registered;
           }

           
           @Remove
           public void destroy() {
                
                
           }



      }

      AddUser.java 

      package org.jboss.seam.example.projectmanager1;

      import java.io.Serializable;

      import javax.persistence.Entity;
      import javax.persistence.GeneratedValue;
      import javax.persistence.Id;
      import javax.persistence.Table;

      import org.hibernate.validator.Length;
      import org.hibernate.validator.NotNull;
      import org.jboss.seam.annotations.In;
      import org.jboss.seam.annotations.Name;
      import org.jboss.seam.annotations.Out;
      import org.jboss.seam.annotations.Scope;

      import static org.jboss.seam.ScopeType.SESSION;

      @Entity
      @Name("add")
      @Scope(SESSION)
      @Table(name="Adduser")

      public class AddUser  implements Serializable{
           
           
                
                private String name;
                private String password;
                private String email;
                private String hourlyrate;
                private String role;
                
                
                



                @Id
                
                
                @Length(min=4,max=10)
                public String getName() {
                     return name;
                }

                public void setName(String name) {
                     this.name = name;
                }
                @NotNull
                @Length(min=5,max=8)
                public String getPassword() {
                     return password;
                }

                public void setPassword(String password) {
                     password = password;
                }
                @NotNull
                public String getEmail() {
                     return email;
                }

                public void setEmail(String email) {
                     this.email = email;
                }
                @NotNull
                public String getHourlyrate() {
                     return hourlyrate;
                }
           
                public void setHourlyrate(String hourlyrate) {
                     this.hourlyrate = hourlyrate;
                }
                @NotNull
                public String getRole() {
                     return role;
                }

                public void setRole(String role) {
                     this.role = role;
                }
                
                
                
                

      }

      adduserform.xhtml


      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml"
             xmlns:ui="http://java.sun.com/jsf/facelets"
             xmlns:h="http://java.sun.com/jsf/html"
             xmlns:f="http://java.sun.com/jsf/core"
            xmlns:s="http://jboss.com/products/seam/taglib"
            xmlns:a="http://richfaces.org/a4j">

      <head>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           <link  href="stylesheet/bcolor.css" type="text/css" rel="stylesheet"/>
           
           <title>Project Management</title>
      </head>

      <body class="bccolor">
                
                     <h:form >
                          <ui:include src="projecthome.xhtml" />
                          
                          <h:messages globalOnly="true" styleClass="message"/>
                          <s:validateAll>
                                <f:facet name="aroundInvalidField">
                  <s:span styleClass="errors"/>
                </f:facet>
                <f:facet name="afterInvalidField">
                  <s:span>&#160;<s:message/></s:span>
                </f:facet>
                               <table class="centeralign" border="1px">
                                    <tr>
                                         <td style="COLOR: #c0c0c0; FONT-SIZE: large;"> UserName</td>
                                         <td>
                                              <s:decorate><h:inputText id="name" value="#{add.name}" required="true"/></s:decorate>
                                         </td>
                                    </tr>
                                    <tr>
                                         <td style="COLOR: #c0c0c0; FONT-SIZE: large;">E-mail</td>
                                         <td>
                                              <s:decorate><h:inputText id="email" value="#{add.email}" required="true"/></s:decorate>
                                         </td>
                                    </tr>
                                    
                                    <tr>
                                    <td style="COLOR: #c0c0c0; FONT-SIZE: large;">Password</td>
                                    <td>
                                         <s:decorate><h:inputSecret id="password" value="#{add.password}" required="true"/></s:decorate>
                                    </td>
                                    </tr>
                                    <tr>
                                    <td style="COLOR: #c0c0c0; FONT-SIZE: large;">Re-Password</td>
                                    <td>
                                         <s:decorate><h:inputSecret id="verify" value="#{addRegister.verify}" required="true"/></s:decorate>
                                    </td>
                                    </tr>
                                    
                                    
                                    <tr>
                                         <td style="COLOR: #c0c0c0; FONT-SIZE: large;">Hourly rate</td>
                                         <td>
                                              <s:decorate><h:inputText id="hourlyrate" value="#{add.hourlyrate}" required="true"/></s:decorate>
                                         </td>
                                    </tr>
                                    <tr>
                                         <td style="COLOR: #c0c0c0; FONT-SIZE: large;">Role</td>
                                         <td>
                                              <h:selectOneRadio value="#{add.role}" id="role">
                                                   <f:selectItem itemLabel="client" itemValue="1"/>
                                                   <f:selectItem itemLabel="user" itemValue="2"/>
                                                   <f:selectItem  itemLabel="Admin" itemValue="3"/>
                                              </h:selectOneRadio>
                                              
                                         </td>
                                         </tr>
                                    
                               </table>
                               <div class="buttonBox ">
                                    <h:commandButton id="addRegister" value="Add" action="#{addRegister.addRegister}"/>
                                    &#160;
                                    <s:button id="cancel" value="Close" view="/loginpage.xhtml"/>
                               
                               </div>
                               
                          
                          </s:validateAll>
                                    
                          
                  </h:form>     
           
                
           </body>

      </html>