Coverage Report - liquibase.change.core.InsertDataChange
 
Classes in this File Line Coverage Branch Coverage Complexity
InsertDataChange
66%
14/21
75%
3/4
1.182
 
 1  
 package liquibase.change.core;
 2  
 
 3  
 import liquibase.change.AbstractChange;
 4  
 import liquibase.change.ChangeMetaData;
 5  
 import liquibase.change.ChangeWithColumns;
 6  
 import liquibase.change.ColumnConfig;
 7  
 import liquibase.database.Database;
 8  
 import liquibase.statement.SqlStatement;
 9  
 import liquibase.statement.core.InsertStatement;
 10  
 import liquibase.util.StringUtils;
 11  
 
 12  
 import java.util.ArrayList;
 13  
 import java.util.List;
 14  
 
 15  
 /**
 16  
  * Inserts data into an existing table.
 17  
  */
 18  
 public class InsertDataChange extends AbstractChange implements ChangeWithColumns {
 19  
 
 20  
     private String schemaName;
 21  
     private String tableName;
 22  
     private List<ColumnConfig> columns;
 23  
 
 24  
     public InsertDataChange() {
 25  22
         super("insert", "Insert Row", ChangeMetaData.PRIORITY_DEFAULT);
 26  22
         columns = new ArrayList<ColumnConfig>();
 27  22
     }
 28  
 
 29  
     public String getSchemaName() {
 30  46
         return schemaName;
 31  
     }
 32  
 
 33  
     public void setSchemaName(String schemaName) {
 34  0
         this.schemaName = StringUtils.trimToNull(schemaName);
 35  0
     }
 36  
 
 37  
     public String getTableName() {
 38  47
         return tableName;
 39  
     }
 40  
 
 41  
     public void setTableName(String tableName) {
 42  7
         this.tableName = tableName;
 43  7
     }
 44  
 
 45  
     public List<ColumnConfig> getColumns() {
 46  0
         return columns;
 47  
     }
 48  
 
 49  
     public void setColumns(List<ColumnConfig> columns) {
 50  0
         this.columns = columns;
 51  0
     }
 52  
 
 53  
     public void addColumn(ColumnConfig column) {
 54  28
         columns.add(column);
 55  28
     }
 56  
 
 57  
     public void removeColumn(ColumnConfig column) {
 58  0
         columns.remove(column);
 59  0
     }
 60  
 
 61  
     public SqlStatement[] generateStatements(Database database) {
 62  
 
 63  46
         InsertStatement statement = new InsertStatement(getSchemaName() == null ? database.getDefaultSchemaName()
 64  
                 : getSchemaName(), getTableName());
 65  
 
 66  46
         for (ColumnConfig column : columns) {
 67  4
             statement.addColumnValue(column.getName(), column.getValueObject());
 68  
         }
 69  
 
 70  46
         return new SqlStatement[] { statement };
 71  
     }
 72  
 
 73  
     /**
 74  
      * @see liquibase.change.Change#getConfirmationMessage()
 75  
      */
 76  
     public String getConfirmationMessage() {
 77  1
         return "New row inserted into " + getTableName();
 78  
     }
 79  
 }