Seam Problem!!! URGENT, please
argomauro Oct 23, 2006 5:54 AMI've create a new seam application that insert in a MysqlDb an Object named "utente" and another named "profilo". I've create a Steteful java class that insert this objects and it's work fine.
Subsequently i've create a page for implement the Login functionality with another Stateful java class and only in this case the application return an error:
Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam component: managerLogin at org.jboss.seam.Component.newInstance(Component.java:735) at org.jboss.seam.Component.newInstance(Component.java:1308) at org.jboss.seam.Component.getInstance(Component.java:1263) at org.jboss.seam.Component.getInstance(Component.java:1246) at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:44) at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:569) at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124) at org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:450) at org.apache.myfaces.el.MethodBindingImpl.resolveToBaseAndProperty(MethodBindingImpl.java:180) at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:114) ... 25 more Caused by: javax.naming.NameNotFoundException: ManagerLogin not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:529) at org.jnp.server.NamingServer.getBinding(NamingServer.java:537) at org.jnp.server.NamingServer.getObject(NamingServer.java:543) at org.jnp.server.NamingServer.lookup(NamingServer.java:267) at org.jnp.server.NamingServer.lookup(NamingServer.java:270) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587) at javax.naming.InitialContext.lookup(InitialContext.java:351) at org.jboss.seam.Component.instantiate(Component.java:774) at org.jboss.seam.Component.newInstance(Component.java:731)
My Stateful class is:
@Stateful
@Name("managerLogin")
@Scope(ScopeType.SESSION)
public class ManagerLogin implements Serializable {
 @In(create=true)
 private EntityManager em;
 @In(value = "login")
 private EntityLogin login = new EntityLogin();
 @In(value = "utente")
 @Out
 private EntityUtente utente;
 @Logger
 private Log log;
 public String login() {
 List results = em.createQuery(
 "from utente where username=:username and password=:password")
 .setParameter("username", login.getUsername())
 .setParameter("password", login.getPassword())
 .getResultList();
 if (results.size() == 0) {
 FacesMessages.instance().addFromResourceBundle("LoginNonValido");
 return null;
 } else {
 Contexts.getSessionContext().set("loggedIn", true);
 utente = (EntityUtente) results.get(0);
 return "home" ;
 }
 }
 public String logout() {
 Contexts.getSessionContext().remove("loggedIn");
 Seam.invalidateSession();
 return "home";
 }
 @Remove
 @Destroy
 public void destroy() {
 }
}
My jsp page is:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<head>
<title><h:outputText value="#{messages.Login}" /></title>
</head>
<body>
<f:view>
 <h:form>
 <h1><h:outputText value="#{messages.Login}" /></h1>
 <h:outputText value="#{messages.LoginDetails}" />
 <table>
 <tr>
 <td><h:inputText value="#{login.username}" id="username" /></td>
 </tr>
 <tr>
 <td><h:inputText value="#{login.password}" id="password" /></td>
 </tr>
 <h:commandButton type="submit" value="#{messages.Login}"
 action="#{managerLogin.login}" />
 <h:commandButton type="submit" value="#{messages.Register}"
 action="insertUtente" />
 </h:form>
</f:view>
</body>
</html>
And the login bean is an object but not persistent that contains the user data entry for login:
@Name("login")
public class EntityLogin implements Serializable {
 private static final long serialVersionUID = 188141350071143953L;
 public EntityLogin(String password, String username) {
 this.username = username;
 this.password = password;
 }
 public EntityLogin() {
 }
 private String username;
 private String password;
 @NotNull
 @Length(max = 10)
 public String getUsername() {
 return this.username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 @Length(max = 15)
 @NotNull
 public String getPassword() {
 return this.password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
}
The login bean is the new entry in this code but precedently i've create an instance of the user in the ManagerLogin class but i was a different error,
componet not find ...
An example of the Stateful that work fine:
@Entity
@Name("utente")
@Scope(SESSION)
@Table(name="utente")
public class EntityUtente implements Serializable {
 private static final long serialVersionUID = 188141350071143952L;
 public EntityUtente(Integer id, String nome, String cognome,String email,String password,String username)
 {
 this.id = id;
 this.nome = nome;
 this.cognome = cognome;
 this.email = email;
 this.username = username;
 this.password = password;
 }
 public EntityUtente(){}
 private Integer id;
 private String username;
 private String nome;
 private String cognome;
 private String password;
 private String email;
 public void setId(Integer id) {
 this.id = id;
 }
 @Id @GeneratedValue
 public Integer getId() {
 return id;
 }
 @NotNull
 @Length(max=10)
 public String getUsername() {
 return this.username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 public void setNome(String nome) {
 this.nome = nome;
 }
 @Length(max=100) @NotNull
 public String getNome() {
 return nome;
 }
 public void setCognome(String cognome) {
 this.cognome = cognome;
 }
 @Length(max=100) @NotNull
 public String getCognome() {
 return cognome;
 }
 @Length(max=15) @NotNull
 public String getPassword() {
 return this.password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 public void setEmail(String email) {
 this.email = email;
 }
 @Email
 public String getEmail() {
 return email;
 }
}
For me it is a incomprensibile error, because others two similar cases work (ManagerUtente,ManagerProfilo)and the login action not.
Thanks for help....
 
     
     
    