PDA

View Full Version : BaseModel Serialization problem!



Motaro
17 May 2010, 3:34 PM
For some reason I keep Having a Serialization problem when I try to send an object that inherits from BaseModel.



import com.extjs.gxt.ui.client.data.BaseModel;
import java.util.Date;
import java.io.*;

public class Usuario extends BaseModel {

public Usuario() { }

public Usuario(String nombre, String apellido, String correo, String clave,
Genero genero, Date nacimiento, String apodo) {
set("nombre", nombre);
set("apellido", apellido);
set("correo", correo);
set("clave", clave);
set("genero", genero);
set("nacimiento", nacimiento);
set("apodo", apodo);
}

public String getNombre() {
return (String)get("nombre");
}

public String getApellido() {
return (String)get("apellido");
}

public String getCorreo() {
return (String)get("correo");
}

public String getClave() {
return (String)get("clave");
}

public Genero getGenero() {
return (Genero)get("genero");
}

public Date getNacimiento() {
return (Date)get("nacimiento");
}

public String getApodo() {
return (String)get("apodo");
}
}



The only strange field is "Genero" which is an enum:




public enum Genero {
MASCULINO("Masculino"), FEMENINO("Femenino");

private String genero;

Genero(String genero) {
this.genero = genero;
}

public String toString() {
return genero;
}
}



Which is sent in the current code:



public void Registrar(final String nombre, final String apellido, final String correo, final String clave, final Genero genero, final Date nacimiento, final String apodo) {

AsyncCallback<Boolean> devuelta = new AsyncCallback<Boolean>() {
public void onFailure(Throwable caught) {
MessageBox.alert("Error", "Error al buscar existencia de usuario.", null);
}

public void onSuccess(Boolean result) {
if (!result) {
final Usuario nuevoUsuario = new Usuario(nombre, apellido, correo, clave, genero, nacimiento, apodo);

AsyncCallback<Boolean> retorno = new AsyncCallback<Boolean>() {
public void onFailure(Throwable caught) {
/*** caught == SerializationException ***/
MessageBox.alert("Error", "Error al registrar nuevo usuario.", null);
}

public void onSuccess(Boolean result) {
pantalla.confirmarEmail(); // Cargar pantalla de confirmación de email para el usuario.
}
};
modelo.agregarUsuario(nuevoUsuario, retorno); //Sending the object.
}
}
};

this.modelo.existeUsuario(correo, devuelta); //Initial call to the RPC service, works fine.
}


If can point me out anything you'll be really helpful because I'm not getting it. onFailure I get SerializationException without any message with it.

GXT v2.1.1
GWT v2.0.3
Eclipse 3.4

Motaro
22 May 2010, 12:21 PM
Ok is this same problem.

http://www.extjs.com/forum/showthread.php?84336-serialization-exception-using-java-enum&highlight=enum+rpc