1 /*
2 * EL4J, the Extension Library for the J2EE, adds incremental enhancements to
3 * the spring framework, http://el4j.sf.net
4 * Copyright (C) 2010 by ELCA Informatique SA, Av. de la Harpe 22-24,
5 * 1000 Lausanne, Switzerland, http://www.elca.ch
6 *
7 * EL4J is published under the GNU Lesser General Public License (LGPL)
8 * Version 2.1. See http://www.gnu.org/licenses/
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * For alternative licensing, please contact info@elca.ch
16 */
17 package ch.elca.el4j.tests.aspects.interceptor;
18
19 import java.util.Properties;
20
21 import org.aopalliance.intercept.MethodInvocation;
22 import org.springframework.transaction.PlatformTransactionManager;
23 import org.springframework.transaction.interceptor.TransactionAttributeSource;
24 import org.springframework.transaction.interceptor.TransactionInterceptor;
25
26 import ch.elca.el4j.tests.aspects.util.InvocationMonitor;
27
28 /**
29 * Wrapped transaction interceptor to count invocation of it.
30 *
31 * @svnLink $Revision: 4253 $;$Date: 2010-12-21 11:08:04 +0100 (Di, 21. Dez 2010) $;$Author: swismer $;$URL: https://el4j.svn.sourceforge.net/svnroot/el4j/branches/el4j_3_1/el4j/framework/tests/aspects/src/main/java/ch/elca/el4j/tests/aspects/interceptor/ObservedTransactionInterceptor.java $
32 *
33 * @author Martin Zeltner (MZE)
34 */
35 public class ObservedTransactionInterceptor extends TransactionInterceptor {
36 /**
37 * Generated serialVersionUID.
38 */
39 private static final long serialVersionUID = 3763830156550688091L;
40
41 /**
42 * @see super{@link TransactionInterceptor#TransactionInterceptor()}
43 */
44 public ObservedTransactionInterceptor() {
45 super();
46 }
47
48 /**
49 * @see {@link TransactionInterceptor#TransactionInterceptor(PlatformTransactionManager, Properties)}
50 */
51 public ObservedTransactionInterceptor(PlatformTransactionManager ptm,
52 Properties attributes) {
53 super(ptm, attributes);
54 }
55
56 /**
57 * @see {@link TransactionInterceptor#TransactionInterceptor(
58 * PlatformTransactionManager, TransactionAttributeSource)}
59 */
60 public ObservedTransactionInterceptor(PlatformTransactionManager ptm,
61 TransactionAttributeSource tas) {
62 super(ptm, tas);
63 }
64
65 @Override
66 public Object invoke(final MethodInvocation invocation) throws Throwable {
67 InvocationMonitor.incrementCounter(ObservedTransactionInterceptor.class);
68 return super.invoke(invocation);
69 }
70 }