package org.springmodules.prevayler; import org.apache.log4j.Logger; import org.springmodules.prevayler.configuration.PrevaylerConfiguration; /** * This {@link PersistenceManager} implementation doesn't support external transaction demarcation: each execution * is directly delegated to Prevayler, following the base Prevayler transactional behaviour.<br> * So, each single operation produces a corresponding transaction. * * @author Sergio Bossa */ public class SimplePersistenceManager implements PersistenceManager { private static final Logger logger = Logger.getLogger(SimplePersistenceManager.class); private PrevaylerConfiguration configuration; public SimplePersistenceManager() {} public SimplePersistenceManager(PrevaylerConfiguration configuration) { this.configuration = configuration; } public void setPrevaylerConfiguration(PrevaylerConfiguration configuration) { this.configuration = configuration; } public Session createTransaction() { return new SimpleSession(this.configuration); } public void commitTransaction(Session session) { // Do nothing: each operation in the context of the given session has been already automatically executed and committed. } public void rollbackTransaction(Session session) { throw new UnsupportedOperationException("Rollback not supported by this persistence manager: all operations are suddenly committed."); } }