r2996 - in trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal: . support
Author: athimel Date: 2014-02-03 15:01:46 +0100 (Mon, 03 Feb 2014) New Revision: 2996 Url: http://nuiton.org/projects/topia/repository/revisions/2996 Log: fixes #3201 Anticipate when TopiaPersistenceContext cannot be found from a given Hibernate's session Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/TopiaHibernateSessionRegistry.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/support/TopiaHibernateEventListener.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/TopiaHibernateSessionRegistry.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/TopiaHibernateSessionRegistry.java 2014-01-27 17:22:59 UTC (rev 2995) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/TopiaHibernateSessionRegistry.java 2014-02-03 14:01:46 UTC (rev 2996) @@ -72,7 +72,10 @@ public TopiaPersistenceContext getPersistenceContext(Session session) { Preconditions.checkArgument(session != null); WeakReference<TopiaPersistenceContext> reference = registry.get(session); - TopiaPersistenceContext result = reference.get(); + TopiaPersistenceContext result = null; + if (reference != null) { + result = reference.get(); + } if (log.isDebugEnabled()) { log.debug("Get TopiaPersistenceContext from Session : " + (result == null ? "Not found" : "HIT !")); } Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/support/TopiaHibernateEventListener.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/support/TopiaHibernateEventListener.java 2014-01-27 17:22:59 UTC (rev 2995) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/support/TopiaHibernateEventListener.java 2014-02-03 14:01:46 UTC (rev 2996) @@ -226,7 +226,7 @@ TopiaPersistenceContext context = getContext(event); // warning, event.getEntity() return null here :( - if (event.getObject() instanceof TopiaEntity) { + if (context != null && event.getObject() instanceof TopiaEntity) { TopiaEntity entity = (TopiaEntity) event.getObject(); if (StringUtils.isBlank(entity.getTopiaId())) {
participants (1)
-
athimelï¼ users.nuiton.org