Coverage Report - liquibase.parser.core.sql.SqlChangeLogParser
 
Classes in this File Line Coverage Branch Coverage Complexity
SqlChangeLogParser
15%
3/19
N/A
1.667
 
 1  
 package liquibase.parser.core.sql;
 2  
 
 3  
 import liquibase.change.core.RawSQLChange;
 4  
 import liquibase.changelog.ChangeSet;
 5  
 import liquibase.changelog.DatabaseChangeLog;
 6  
 import liquibase.changelog.ChangeLogParameters;
 7  
 import liquibase.exception.ChangeLogParseException;
 8  
 import liquibase.parser.ChangeLogParser;
 9  
 import liquibase.resource.ResourceAccessor;
 10  
 import liquibase.util.StreamUtil;
 11  
 
 12  
 import java.io.IOException;
 13  
 import java.io.InputStream;
 14  
 
 15  23
 public class SqlChangeLogParser implements ChangeLogParser {
 16  
 
 17  
     public boolean supports(String changeLogFile, ResourceAccessor resourceAccessor) {
 18  1
         return changeLogFile.endsWith(".sql");
 19  
     }
 20  
 
 21  
     public int getPriority() {
 22  61
         return PRIORITY_DEFAULT;
 23  
     }
 24  
 
 25  
     public DatabaseChangeLog parse(String physicalChangeLogLocation, ChangeLogParameters changeLogParameters,
 26  
             ResourceAccessor resourceAccessor) throws ChangeLogParseException {
 27  
 
 28  0
         RawSQLChange change = new RawSQLChange();
 29  
 
 30  
         try {
 31  0
             InputStream sqlStream = resourceAccessor.getResourceAsStream(physicalChangeLogLocation);
 32  0
             String sql = StreamUtil.getStreamContents(sqlStream, null);
 33  0
             change.setSql(sql);
 34  0
         } catch (IOException e) {
 35  0
             throw new ChangeLogParseException(e);
 36  0
         }
 37  0
         change.setResourceAccessor(resourceAccessor);
 38  0
         change.setSplitStatements(false);
 39  0
         change.setStripComments(false);
 40  
 
 41  0
         ChangeSet changeSet = new ChangeSet("raw", "includeAll", false, false, physicalChangeLogLocation, null, null,
 42  
                 true);
 43  0
         changeSet.addChange(change);
 44  
 
 45  0
         DatabaseChangeLog changeLog = new DatabaseChangeLog();
 46  0
         changeLog.setPhysicalFilePath(physicalChangeLogLocation);
 47  0
         changeLog.addChangeSet(changeSet);
 48  
 
 49  0
         return changeLog;
 50  
     }
 51  
 }