package org.splat.simer;
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
-import org.hibernate.Transaction;
-import org.splat.dal.dao.som.Database;
import org.splat.dal.bo.som.Study;
import org.splat.service.StudyService;
// ==============================================================================================================================
public String doEdition () {
-// --------------------------
- Session connex = Database.getSession();
- Transaction transax = connex.beginTransaction();
try {
mystudy = getOpenStudy();
else if (todo == Execute.promote) getStudyService().moveToReference(study);
mystudy.getPopup().setContext("study", mystudy.getStudyRights()); // The context has changed
-// Useless to update the open study
- transax.commit();
return SUCCESS;
}
catch (RuntimeException saverror) {
logger.error("Reason:", saverror);
- if (transax != null && transax.isActive()) {
-// Second try-catch as the rollback could fail as well
- try {
- transax.rollback();
- } catch (HibernateException backerror) {
- logger.debug("Error rolling back transaction", backerror);
- }
- }
return ERROR;
}
}