package com.vci.transaction; import org.jbpm.api.JbpmException; import org.jbpm.api.cmd.Command; import org.jbpm.pvm.internal.env.EnvironmentImpl; import org.jbpm.pvm.internal.svc.Interceptor; import org.jbpm.pvm.internal.tx.StandardTransaction; public class JBPMTransactionInterceptor extends Interceptor { public T execute(Command command) { EnvironmentImpl environment = EnvironmentImpl.getCurrent(); if (environment == null) { throw new JbpmException("no environment for managing hibernate transaction"); } StandardTransaction standardTransaction = (StandardTransaction)environment.get(StandardTransaction.class); if (standardTransaction == null) { throw new JbpmException("no standard-transaction in environment"); } try { return this.next.execute(command); } catch (RuntimeException e) { throw e; } finally { } } }