(no commit message)
[utils] / wicket / components / src / main / java / org / wamblee / wicket / page / FlushEntityManagerBehavior.java
index d1b663d85b81970ac59a39437b161f97389f40c7..a8cf15d735bdcd3905c15b1ed43581dba44fa203 100644 (file)
@@ -18,13 +18,9 @@ package org.wamblee.wicket.page;
 import java.util.logging.Level;
 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;
 
 import org.apache.wicket.markup.html.WebPage;
 
@@ -34,25 +30,24 @@ import org.apache.wicket.markup.html.WebPage;
  * @author Erik Brakkee
  * 
  */
-public class FlushEntityManagerBehavior extends AbstractPageBehavior {
+public abstract class FlushEntityManagerBehavior extends AbstractPageBehavior {
 
     private static final Logger LOGGER = Logger
         .getLogger(FlushEntityManagerBehavior.class.getName());
 
-    private EntityManager entityManager;
-
     /**
      * Constructs the behavior.
      * 
      * @param aEntityManager
      *            Contextual reference to an entitymanager.
      */
-    public FlushEntityManagerBehavior(EntityManager aEntityManager) {
-        entityManager = aEntityManager;
+    public FlushEntityManagerBehavior() {
+        // Empty.
     }
 
     @Override
     public void onAfterRender(WebPage aPage) {
+        EntityManager entityManager = getEntityManager();
         try {
             if (entityManager.isOpen()) {
                 entityManager.flush();
@@ -65,5 +60,11 @@ public class FlushEntityManagerBehavior extends AbstractPageBehavior {
             LOGGER.log(Level.WARNING, "Could not flush entitymanager", e);
         }
     }
+    
+    /**
+     * Gets the entity mmanager to flush.
+     * @return Entity manager.
+     */
+    public abstract EntityManager getEntityManager();
 
 }