some comment stripping
[sdbl4j] / src / java / org / gc / sdbl4j / DBUpdateService.java
1 /*
2  *
3  * Copyright (C) 2010 Guillaume Cottenceau and MNC S.A.
4  *
5  * This file is part of sdbl4j, and is licensed under the Apache 2.0 license.
6  *
7  */
8
9 package org.gc.sdbl4j;
10
11 import org.apache.log4j.Logger;
12
13 import java.sql.PreparedStatement;
14 import java.sql.SQLException;
15
16 public abstract class DBUpdateService {
17
18     private static Logger log = Logger.getLogger( DBUpdateService.class ); 
19
20     protected static int executeUpdate( PreparedStatement ps )
21             throws SQLException {
22         // synchronize for autocommit and rollback stuff of batched update running on the same connection
23         synchronized ( ps.getConnection() ) {
24             if ( log.isDebugEnabled() ) {
25                 long begin = System.currentTimeMillis();
26                 int result = ps.executeUpdate();
27                 log.debug( ( System.currentTimeMillis() - begin ) + " ms for: " + ps.toString().replaceAll( "\\s+", " " )
28                            + "[" + DBUtils.getStackTrace()[2].getClassName() + "]" ); 
29                 return result;
30             } else {
31                 return ps.executeUpdate();
32             }
33         }
34     }
35         
36     
37 }