package com.softwaremill.common.dbtest; import bitronix.tm.TransactionManagerServices; import com.softwaremill.common.util.dependency.DependencyProvider; import javax.transaction.UserTransaction; import java.lang.annotation.Annotation; /** * Provides wrapping class to inject UserTransaction */ public class UtxDependencyProvider implements DependencyProvider { @Override public <T> T inject(Class<T> cls, Annotation... qualifiers) { if (cls.isAssignableFrom(UserTransaction.class)) { return (T) TransactionManagerServices.getTransactionManager(); } return null; } }