public class Iuser extends LightEntity implements java.io.Serializable, IsSerializable {
private static final long serialVersionUID = 1L;
private Integer id;
private int idDataProfil;
private int idTableDataProfil;
private String name;
private String surname;
private String email;
private String password;
private String sex;
private Date birthday;
private Date joinDate;
private String registrationConfirmation;
private int registrationConfirmed;
private Date timeLastConnectionAttempt;
private int connectionAttempt;
private Set<ProfilData1> profilData1s = new HashSet<ProfilData1>(0);
service implementation:
@RemoteServiceRelativePath("login")
public class LoginServiceImpl extends PersistentRemoteService implements LoginService {
private static final long serialVersionUID = 1L;
private static final Integer MAX_CONNECTION_ATTEMPT_AUTHORIZED_BY_DAY = 15;
private static final Integer OK = 0;
private static final Integer NOK = 1;
/**
* Constructor
*/
public LoginServiceImpl() {
GwtConfigurationHelper.initGwtStatelessBeanManager(new HibernateUtil(HibernateContext.getSessionFactory()));
/*
HibernateUtil gileadHibernateUtil = new HibernateUtil();
gileadHibernateUtil.setSessionFactory(HibernateContext.getSessionFactory());
PersistentBeanManager persistentBeanManager = new PersistentBeanManager();
persistentBeanManager.setPersistenceUtil(gileadHibernateUtil);
StatelessProxyStore proxyStore = new StatelessProxyStore();
proxyStore.setProxySerializer(new GwtProxySerialization());
persistentBeanManager.setProxyStore(proxyStore);
setBeanManager(persistentBeanManager);
*/
}
public Iuser TestWithServerIfLoginAndPasswordIsCorrect(String login, String password) {
Session session = null;
Transaction transaction = null;
try {
session = HibernateContext.getSessionFactory().openSession();
transaction = session.beginTransaction();
Iuser iuser = (Iuser) session.createCriteria(Iuser.class).add(Restrictions.eq("email", login))
.add(Restrictions.eq("registrationConfirmed", 1))
.add(Restrictions.sqlRestriction("connection_attempt < " + MAX_CONNECTION_ATTEMPT_AUTHORIZED_BY_DAY ))
.uniqueResult();
if (iuser != null) {
System.out.println("user founded - " + iuser.getProfilData1s().size() + " entries");
boolean passwordIsValid = false;
passwordIsValid = BCrypt.checkpw(password, iuser.getPassword());
if (passwordIsValid) {
// Initialisation Session utilisateur
HttpSession sessionHTTP = this.getThreadLocalRequest().getSession();
sessionHTTP.setAttribute("isAuthenticated", "true");
sessionHTTP.setAttribute("idUser", iuser.getId().toString());
sessionHTTP.setAttribute("user", iuser.getSurname());
return (iuser);
}
else {
iuser.setConnectionAttempt(iuser.getConnectionAttempt() + 1);
Date date = new Date();
date.setTime(date.getTime() + 1000 * 60 * 15);
iuser.setTimeLastConnectionAttempt(date);
session.update(iuser);
transaction.commit();
}
}
}
catch (RuntimeException e) {
if (transaction != null)
transaction.rollback();
throw e;
}
finally {
if (session != null)
session.close();
}
return null;
}
All seems to work fine on server side. In the stacktrace, i can count how many ProfilData my Iuser got.
But it fails at serialization step.
English isn't my native language and i apologize for that.
Thanks in advance for any advice and please let me know what additional information I can provide.
Camille
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, i'm getting the following error when serializing domain object:
domain class with getters/setters omitted:
service implementation:
All seems to work fine on server side. In the stacktrace, i can count how many ProfilData my Iuser got.
But it fails at serialization step.
English isn't my native language and i apologize for that.
Thanks in advance for any advice and please let me know what additional information I can provide.
Camille