blob: 51b50b4c27599910219c6fd16d6b540420d86f9b [file] [log] [blame]
package org.apache.tapestry5.internal.jpa;
import org.apache.tapestry5.jpa.EntityTransactionManager;
import org.apache.tapestry5.plastic.MethodAdvice;
import javax.persistence.PersistenceContext;
public class JpaAdvisorProviderImpl implements JpaAdvisorProvider {
private final MethodAdvice shared;
private final EntityTransactionManager transactionManager;
public JpaAdvisorProviderImpl(EntityTransactionManager transactionManager) {
this.shared = new CommitAfterMethodAdvice(transactionManager, null);
this.transactionManager = transactionManager;
}
@Override
public MethodAdvice getAdvice(PersistenceContext context) {
return context == null ? shared : new CommitAfterMethodAdvice(transactionManager,context.unitName());
}
}