Coverage Report - liquibase.change.core.StopChange
 
Classes in this File Line Coverage Branch Coverage Complexity
StopChange
37%
3/8
N/A
1.143
StopChange$1
0%
0/2
N/A
1.143
StopChange$StopChangeException
0%
0/2
N/A
1.143
 
 1  
 package liquibase.change.core;
 2  
 
 3  
 import liquibase.change.AbstractChange;
 4  
 import liquibase.change.ChangeMetaData;
 5  
 import liquibase.database.Database;
 6  
 import liquibase.sql.Sql;
 7  
 import liquibase.statement.SqlStatement;
 8  
 import liquibase.statement.core.RuntimeStatement;
 9  
 import liquibase.util.StringUtils;
 10  
 
 11  
 public class StopChange extends AbstractChange {
 12  
 
 13  10
     private String message = "Stop command in changelog file";
 14  
 
 15  
     public StopChange() {
 16  10
         super("stop", "Stop Execution", ChangeMetaData.PRIORITY_DEFAULT);
 17  10
     }
 18  
 
 19  
     public String getMessage() {
 20  0
         return message;
 21  
     }
 22  
 
 23  
     public void setMessage(String message) {
 24  0
         this.message = StringUtils.trimToNull(message);
 25  0
     }
 26  
 
 27  
     public SqlStatement[] generateStatements(Database database) {
 28  0
         return new SqlStatement[] { new RuntimeStatement() {
 29  
             @Override
 30  
             public Sql[] generate(Database database) {
 31  0
                 throw new StopChangeException(getMessage());
 32  
             }
 33  
         } };
 34  
 
 35  
     }
 36  
 
 37  
     public String getConfirmationMessage() {
 38  0
         return "Changelog Execution Stopped";
 39  
     }
 40  
 
 41  
     public static class StopChangeException extends RuntimeException {
 42  
         public StopChangeException(String message) {
 43  0
             super(message);
 44  0
         }
 45  
     }
 46  
 }