r4175 - in branches/isis-fish-4.3.1.x: . src/main/java/fr/ifremer/isisfish/util
Author: echatellier Date: 2015-01-23 10:47:24 +0000 (Fri, 23 Jan 2015) New Revision: 4175 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4175 Log: fixes #6531: LazyInitializationException: could not initialize proxy - no Session in prescript Modified: branches/isis-fish-4.3.1.x/pom.xml branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java Modified: branches/isis-fish-4.3.1.x/pom.xml =================================================================== --- branches/isis-fish-4.3.1.x/pom.xml 2015-01-23 10:47:02 UTC (rev 4174) +++ branches/isis-fish-4.3.1.x/pom.xml 2015-01-23 10:47:24 UTC (rev 4175) @@ -493,7 +493,7 @@ <jaxxVersion>2.8.7</jaxxVersion> <eugeneVersion>2.7.4</eugeneVersion> <topiaVersion>2.9.1</topiaVersion> - <hibernateVersion>4.3.7.Final</hibernateVersion> + <hibernateVersion>4.3.8.Final</hibernateVersion> <nuitonI18nVersion>3.2</nuitonI18nVersion> <nuitonWidgetsVersion>1.1.1</nuitonWidgetsVersion> @@ -688,9 +688,9 @@ <!-- *** Build Environment ************************************** --> <!-- ************************************************************* --> <scm> - <connection>scm:svn:https://svn.codelutin.com/isis-fish/trunk</connection> - <developerConnection>scm:svn:https://svn.codelutin.com/isis-fish/trunk</developerConnection> - <url>https://svn.codelutin.com/isis-fish/trunk</url> + <connection>scm:svn:https://svn.codelutin.com/isis-fish/branches/isis-fish-4.3.1.x</connection> + <developerConnection>scm:svn:https://svn.codelutin.com/isis-fish/branches/isis-fish-4.3.1.x</developerConnection> + <url>https://svn.codelutin.com/isis-fish/branches/isis-fish-4.3.1.x</url> </scm> <repositories> Modified: branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java =================================================================== --- branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java 2015-01-23 10:47:02 UTC (rev 4174) +++ branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/util/TopiaEntityConverter.java 2015-01-23 10:47:24 UTC (rev 4175) @@ -38,6 +38,7 @@ import org.hibernate.type.StandardBasicTypes; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImpl; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaId; @@ -83,12 +84,21 @@ TopiaEntity result = null; if (context != null) { try { - TopiaContext tx = context.beginTransaction(); - result = tx.findByTopiaId(topiaId); - // FIXME when after tx.closeContext we can continu to load - // object, call it here - tx.commitTransaction(); - tx.closeContext(); + + // normalement, on ne devrait pas avoir à tester ca + // mais il arrive que dans le cas des prescripts, on soit deja dans une transaction + // see (#6531) + TopiaContextImpl contextImpl = (TopiaContextImpl)context; + if (contextImpl.getParentContext() != null) { + result = contextImpl.findByTopiaId(topiaId); + } else { + TopiaContext tx = context.beginTransaction(); + result = tx.findByTopiaId(topiaId); + // FIXME when after tx.closeContext we can continu to load + // object, call it here + tx.commitTransaction(); + tx.closeContext(); + } } catch (TopiaException eee) { if (log.isWarnEnabled()) { log.warn("Can't find Entity from TopiaId " + topiaId, eee); @@ -99,8 +109,8 @@ String entityClass = TopiaId.getClassNameAsString(topiaId); try { - /* Non compilable code since hibernate 4.2, but not a real, not usefull - boolean mustCommit = false; + // usefull for prescript (must be reopened) + /*boolean mustCommit = false; if (!session.getJDBCContext().getTransaction().isActive()) { mustCommit = true; session.getJDBCContext().getTransaction().begin();
participants (1)
-
echatellier@users.forge.codelutin.com