Clover coverage report - Diasparsoft Toolkit - 0.22
Coverage timestamp: Mon Jun 7 2004 22:02:31 EDT
file stats: LOC: 73   Methods: 5
NCLOC: 52   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
JdbcQueryBuilder.java 0% 0% 0% 0%
coverage
 1   
 package com.diasparsoftware.jdbc;
 2   
 
 3   
 import java.util.*;
 4   
 
 5   
 import org.apache.commons.collections.*;
 6   
 
 7   
 import com.diasparsoftware.java.sql.PreparedStatementData;
 8   
 import com.gargoylesoftware.base.util.StringUtil;
 9   
 
 10   
 public abstract class JdbcQueryBuilder implements PreparedStatementBuilder {
 11   
     public abstract List createPreparedStatementParameters(
 12   
             String statementName, List domainParameters);
 13   
     public abstract String getSqlString(String statementName);
 14   
     public abstract Set getSupportedStatements();
 15   
 
 16  0
     public boolean supportsStatement(String statementName) {
 17  0
         return getSupportedStatements().contains(statementName);
 18   
     }
 19   
 
 20  0
     public PreparedStatementData getPreparedStatementData(String statementName,
 21   
             List domainParameters) {
 22   
 
 23  0
         if (supportsStatement(statementName)) {
 24   
 
 25  0
             PreparedStatementData preparedStatementData = new PreparedStatementData();
 26   
 
 27  0
             preparedStatementData.sqlString = getSqlString(statementName);
 28   
 
 29  0
             preparedStatementData.parameters = createPreparedStatementParameters(
 30   
                     statementName, domainParameters);
 31   
 
 32  0
             return preparedStatementData;
 33   
         }
 34   
         else {
 35  0
             throw new NoSuchElementException("I do not support the statement '"
 36   
                     + statementName + "'");
 37   
         }
 38   
     }
 39   
 
 40  0
     public static String createInsertStatement(String tableName,
 41   
             List orderedColumnNames) {
 42   
 
 43  0
         String[] markers = new String[orderedColumnNames.size()];
 44  0
         Arrays.fill(markers, "?");
 45   
 
 46  0
         StringBuffer statementBuffer = new StringBuffer("insert into "
 47   
                 + tableName + " (");
 48   
 
 49  0
         statementBuffer.append(StringUtil.join(orderedColumnNames, ", "));
 50  0
         statementBuffer.append(") values (");
 51  0
         statementBuffer.append(StringUtil.join(markers, ", "));
 52  0
         statementBuffer.append(")");
 53   
 
 54  0
         return statementBuffer.toString();
 55   
     }
 56   
 
 57  0
     public static String createUpdateStatement(String tableName,
 58   
             List orderedColumnNames, String whereClause) {
 59   
         
 60  0
         List columnSetClauses = (List) CollectionUtils.collect(
 61   
                 orderedColumnNames, new Transformer() {
 62  0
                     public Object transform(Object input) {
 63  0
                         String eachColumnName = (String) input;
 64  0
                         return eachColumnName + " = ?";
 65   
                     }
 66   
                 });
 67   
 
 68  0
         return "update " + tableName + " set "
 69   
                 + StringUtil.join(columnSetClauses, ", ") + " where "
 70   
                 + whereClause;
 71   
     }
 72   
 
 73   
 }