X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=wicket%2Fcomponents%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fbehavior%2FFlushEntityManagerBehavior.java;h=287bb64ca0bc0d114f88c2eb37a1275fb5d90637;hb=e897c0b96075ff833db4bb42c6bb267275376c7c;hp=921f779f73426de0e87af99c9e052d899f7044eb;hpb=dd22a57387008cd14ae3c74b0f37159c92600933;p=utils diff --git a/wicket/components/src/main/java/org/wamblee/wicket/behavior/FlushEntityManagerBehavior.java b/wicket/components/src/main/java/org/wamblee/wicket/behavior/FlushEntityManagerBehavior.java index 921f779f..287bb64c 100644 --- a/wicket/components/src/main/java/org/wamblee/wicket/behavior/FlushEntityManagerBehavior.java +++ b/wicket/components/src/main/java/org/wamblee/wicket/behavior/FlushEntityManagerBehavior.java @@ -20,6 +20,8 @@ import java.util.logging.Logger; import javax.annotation.Resource; import javax.persistence.EntityManager; +import javax.persistence.PersistenceException; +import javax.persistence.TransactionRequiredException; import javax.transaction.Status; import javax.transaction.SystemException; import javax.transaction.UserTransaction; @@ -55,8 +57,11 @@ public class FlushEntityManagerBehavior extends AbstractPageBehavior { if (entityManager.isOpen()) { entityManager.flush(); } - } catch (Exception e) { // TODO catch the Entity manager exceptions explicitly and rethrow, but log - // the other onees. + } catch (TransactionRequiredException e) { + throw e; + } catch (PersistenceException e) { + throw e; + } catch (Exception e) { LOGGER.log(Level.WARNING, "Could not flush entitymanager", e); } }