Clover.NET coverage report - Coverage for s2container.net

Coverage timestamp: 2006年5月30日 11:21:29

File Stats: LOC: 65   Methods: 1
NCLOC: 41 Classes: 1
 
Source File Conditionals Statements Methods TOTAL
Seasar.Extension.Tx\Impl\RequiredTxHandler.cs 100.0% 100.0% 100.0% 100.0%
coverage
1   #region Copyright
2   /*
3   * Copyright 2005 the Seasar Foundation and the Others.
4   *
5   * Licensed under the Apache License, Version 2.0 (the "License");
6   * you may not use this file except in compliance with the License.
7   * You may obtain a copy of the License at
8   *
9   * http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14   * either express or implied. See the License for the specific language
15   * governing permissions and limitations under the License.
16   */
17   #endregion
18  
19   using System.Transactions;
20  
21   using Seasar.Framework.Aop;
22   using Seasar.Framework.Log;
23  
24   namespace Seasar.Extension.Tx.Impl
25   {
26   public class RequiredTxHandler : ITransactionHandler
27   {
28   private static Logger logger = Logger.GetLogger(typeof(RequiredTxHandler));
29  
30   #region ITransactionHandler メンバ
31  
32 4 object ITransactionHandler.Handle(IMethodInvocation invocation, bool alreadyInTransaction)
33   {
34 4 bool began = !alreadyInTransaction;
35  
36 4 if (began)
37   {
38 2 logger.Log("DSSR0003", null);
39   }
40  
41 4 using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
42   {
43 4 try
44   {
45 4 object obj = invocation.Proceed();
46 2 if (began)
47   {
48 1 logger.Log("DSSR0004", null);
49   }
50 2 scope.Complete();
51 2 return obj;
52   } catch {
53 2 if (began)
54   {
55 1 logger.Log("DSSR0005", null);
56   }
57 2 throw;
58   }
59   }
60   }
61  
62   #endregion
63   }
64   }
65