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;
* @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();
}
}
+ /**
+ * Gets the entity mmanager to flush.
+ *
+ * @return Entity manager.
+ */
+ public abstract EntityManager getEntityManager();
+
}