本文整理汇总了Java中liquibase.parser.ChangeLogParserFactory类的典型用法代码示例。如果您正苦于以下问题:Java ChangeLogParserFactory类的具体用法?Java ChangeLogParserFactory怎么用?Java ChangeLogParserFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ChangeLogParserFactory类属于liquibase.parser包,在下文中一共展示了ChangeLogParserFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: update
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
public void update(String contexts) throws LiquibaseException {
contexts = StringUtils.trimToNull(contexts);
LockService lockService = LockService.getInstance(database);
lockService.waitForLock();
changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));
try {
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
checkDatabaseChangeLogTable(true, changeLog, contexts);
changeLog.validate(database, contexts);
ChangeLogIterator changeLogIterator = getStandardChangelogIterator(contexts, changeLog);
changeLogIterator.run(new UpdateVisitor(database), database);
} finally {
try {
lockService.releaseLock();
} catch (LockException e) {
log.severe("Could not release lock", e);
}
}
}
示例2: rollback
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
public void rollback(String tagToRollBackTo, String contexts) throws LiquibaseException {
contexts = StringUtils.trimToNull(contexts);
changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));
LockService lockService = LockService.getInstance(database);
lockService.waitForLock();
try {
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
checkDatabaseChangeLogTable(false, changeLog, contexts);
changeLog.validate(database, contexts);
List<RanChangeSet> ranChangeSetList = database.getRanChangeSetList();
ChangeLogIterator logIterator = new ChangeLogIterator(ranChangeSetList, changeLog,
new AfterTagChangeSetFilter(tagToRollBackTo, ranChangeSetList),
new AlreadyRanChangeSetFilter(ranChangeSetList),
new ContextChangeSetFilter(contexts),
new DbmsChangeSetFilter(database));
logIterator.run(new RollbackVisitor(database), database);
} finally {
lockService.releaseLock();
}
}
示例3: changeLogSync
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
public void changeLogSync(String contexts) throws LiquibaseException {
contexts = StringUtils.trimToNull(contexts);
changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));
LockService lockService = LockService.getInstance(database);
lockService.waitForLock();
try {
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
checkDatabaseChangeLogTable(true, changeLog, contexts);
changeLog.validate(database, contexts);
ChangeLogIterator logIterator = new ChangeLogIterator(changeLog,
new NotRanChangeSetFilter(database.getRanChangeSetList()),
new ContextChangeSetFilter(contexts),
new DbmsChangeSetFilter(database));
logIterator.run(new ChangeLogSyncVisitor(database), database);
} finally {
lockService.releaseLock();
}
}
示例4: markNextChangeSetRan
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
public void markNextChangeSetRan(String contexts) throws LiquibaseException {
contexts = StringUtils.trimToNull(contexts);
changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));
LockService lockService = LockService.getInstance(database);
lockService.waitForLock();
try {
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
checkDatabaseChangeLogTable(false, changeLog, contexts);
changeLog.validate(database, contexts);
ChangeLogIterator logIterator = new ChangeLogIterator(changeLog,
new NotRanChangeSetFilter(database.getRanChangeSetList()),
new ContextChangeSetFilter(contexts),
new DbmsChangeSetFilter(database),
new CountChangeSetFilter(1));
logIterator.run(new ChangeLogSyncVisitor(database), database);
} finally {
lockService.releaseLock();
}
}
示例5: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
if (connection == null) {
return;
}
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile,
changeLogParameters, resourceAccessor);
liquiBase.checkLiquibaseTables(false, changeLog, new Contexts(), new LabelExpression());
changeLog.validate(database);
List<ChangeSet> changeSets = changeLog.getChangeSets();
Change change = changeSets.get(0).getChanges().get(0);
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql(change.generateStatements(database)[0], database);
String expected = "DROP SYNONYM new_synonym";
assertEquals(expected, sql[0].toSql());
}
示例6: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
if (connection == null) {
return;
}
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile,
changeLogParameters, resourceAccessor);
liquiBase.checkLiquibaseTables(false, changeLog, new Contexts(), new LabelExpression());
changeLog.validate(database);
List<ChangeSet> changeSets = changeLog.getChangeSets();
Change change = changeSets.get(0).getChanges().get(0);
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql(change.generateStatements(database)[0], database);
String expected = "CREATE SYNONYM new_synonym FOR object";
assertEquals(expected, sql[0].toSql());
}
示例7: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser( changeLogFile, resourceAccessor ).parse( changeLogFile, changeLogParameters, resourceAccessor );
liquiBase.checkLiquibaseTables( true, changeLog, new Contexts() );
changeLog.validate( database );
List<ChangeSet> changeSets = changeLog.getChangeSets();
List<String> expectedQuery = new ArrayList<String>();
expectedQuery.add( String.format( "CREATE OR REPLACE VIEW %s.myview1 AS select 1 as One from dual", database.getLiquibaseSchemaName() ) );
expectedQuery.add( String.format( "CREATE OR REPLACE VIEW %s.myview2 AS select * from mytable", database.getLiquibaseSchemaName() ) );
expectedQuery.add( String.format( "CREATE OR REPLACE VIEW %s.myview2 AS select * from mytable where rownum = 1", database.getLiquibaseSchemaName() ) );
expectedQuery.add( String.format( "CREATE OR REPLACE VIEW %s.myview4 AS select 1 as One from dual", database.getLiquibaseSchemaName() ) );
expectedQuery.add( String.format( "CREATE OR REPLACE VIEW %s.myview3 AS select * from mytable", database.getLiquibaseSchemaName() ) );
expectedQuery.add( String.format( "CREATE OR REPLACE VIEW %s.myview3 AS select * from mytable where one like '%%'", database.getLiquibaseSchemaName() ) );
expectedQuery.add( String.format( "Drop materialized view myview2" ) );
int i = 0;
for ( ChangeSet changeSet : changeSets ) {
for ( Change change : changeSet.getChanges() ) {
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql( change.generateStatements( database )[0], database );
if ( change instanceof CreateFlexibleViewChange ) {
for ( Sql s : sql ) {
System.out.println( "--------------------------------------------------------------------------------------------------------" );
System.out.println( "ACTUAL: " + s.toSql() );
System.out.println( "EXPECT: " + expectedQuery.get( i ) );
assertEquals( expectedQuery.get( i ), s.toSql() );
i++;
}
}
}
}
}
示例8: handleIncludedChangeLog
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
protected boolean handleIncludedChangeLog(String fileName,
boolean isRelativePath, String relativeBaseFileName)
throws LiquibaseException {
if (!(fileName.endsWith(".xml") || fileName.endsWith(".sql"))) {
log.debug(relativeBaseFileName + "/" + fileName
+ " is not a recognized file type");
return false;
}
if (fileName.equalsIgnoreCase(".svn") || fileName.equalsIgnoreCase("cvs")) {
return false;
}
if (isRelativePath) {
// workaround for FilenameUtils.normalize() returning null for relative paths like ../conf/liquibase.xml
String tempFile = FilenameUtils.concat(FilenameUtils.getFullPath(relativeBaseFileName), fileName);
if(tempFile != null && new File(tempFile).exists() == true) {
fileName = tempFile;
} else {
fileName = FilenameUtils.getFullPath(relativeBaseFileName) + fileName;
}
}
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(fileName, resourceAccessor).parse(fileName, changeLogParameters,
resourceAccessor);
PreconditionContainer preconditions = changeLog.getPreconditions();
if (preconditions != null) {
if (null == databaseChangeLog.getPreconditions()) {
databaseChangeLog.setPreconditions(new PreconditionContainer());
}
databaseChangeLog.getPreconditions().addNestedPrecondition(
preconditions);
}
for (ChangeSet changeSet : changeLog.getChangeSets()) {
handleChangeSet(changeSet);
}
return true;
}
示例9: listUnrunChangeSets
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
public List<ChangeSet> listUnrunChangeSets(String contexts) throws LiquibaseException {
contexts = StringUtils.trimToNull(contexts);
changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
changeLog.validate(database, contexts);
ChangeLogIterator logIterator = getStandardChangelogIterator(contexts, changeLog);
ListVisitor visitor = new ListVisitor();
logIterator.run(visitor, database);
return visitor.getSeenChangeSets();
}
示例10: calculateCheckSum
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
public CheckSum calculateCheckSum(final String filename, final String id, final String author) throws LiquibaseException {
log.info(String.format("Calculating checksum for changeset %s::%s::%s", filename, id, author));
final ChangeLogParameters changeLogParameters = this.getChangeLogParameters();
final ResourceAccessor resourceAccessor = this.getFileOpener();
final DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(this.changeLogFile, resourceAccessor).parse(this.changeLogFile, changeLogParameters, resourceAccessor);
// TODO: validate?
final ChangeSet changeSet = changeLog.getChangeSet(filename, author, id);
if (changeSet == null) {
throw new LiquibaseException(new IllegalArgumentException("No such changeSet: " + filename + "::" + id + "::" + author));
}
return changeSet.generateCheckSum();
}
示例11: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
if (connection == null) {
return;
}
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile,
changeLogParameters, resourceAccessor);
changeLog.validate(database);
List<ChangeSet> changeSets = changeLog.getChangeSets();
List<String> expectedQuery = new ArrayList<String>();
expectedQuery.add("CREATE TABLE LBUSER.person (id NUMBER(10), name VARCHAR2(50))");
expectedQuery.add("INSERT INTO LBUSER.person (id, name) VALUES ('1', 'James')");
expectedQuery.add("ALTER TABLE LBUSER.person RENAME TO Tperson");
expectedQuery.add("CREATE OR REPLACE VIEW LBUSER.person AS SELECT * FROM Tperson");
int i = 0;
for (ChangeSet changeSet : changeSets) {
for (Change change : changeSet.getChanges()) {
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql(change.generateStatements(database)[0], database);
assertEquals(expectedQuery.get(i), sql[0].toSql());
}
i++;
}
}
示例12: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
if (connection == null) {
return;
}
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile,
changeLogParameters, resourceAccessor);
changeLog.validate(database);
List<ChangeSet> changeSets = changeLog.getChangeSets();
List<String> expectedQuery = new ArrayList<String>();
expectedQuery.add("ALTER TRIGGER zuiolTrigger RENAME TO RenamedZuiolTrigger");
int i = 0;
for (ChangeSet changeSet : changeSets) {
for (Change change : changeSet.getChanges()) {
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql(change.generateStatements(database)[0], database);
if (i == 4) {
assertEquals(expectedQuery.get(0), sql[0].toSql());
}
}
i++;
}
}
示例13: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
if (connection == null) {
return;
}
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile,
changeLogParameters, resourceAccessor);
changeLog.validate(database);
List<ChangeSet> changeSets = changeLog.getChangeSets();
List<String> expectedQuery = new ArrayList<String>();
expectedQuery.add("ALTER TABLE LBUSER.test DISABLE CONSTRAINT tom_check");
int i = 0;
for (ChangeSet changeSet : changeSets) {
for (Change change : changeSet.getChanges()) {
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql(change.generateStatements(database)[0], database);
if (i == 2) {
assertEquals(expectedQuery.get(0), sql[0].toSql());
}
}
i++;
}
}
示例14: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
if (connection == null) {
return;
}
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile,
changeLogParameters, resourceAccessor);
changeLog.validate(database);
List<ChangeSet> changeSets = changeLog.getChangeSets();
List<String> expectedQuery = new ArrayList<String>();
expectedQuery
.add("CREATE TRIGGER zuiolTrigger before INSERT ON TriggerTest FOR EACH ROW DECLARE v_username varchar2(10); BEGIN SELECT pierwsza INTO v_username FROM TriggerTest; :new.created_by := v_username; END;");
int i = 0;
for (ChangeSet changeSet : changeSets) {
for (Change change : changeSet.getChanges()) {
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql(change.generateStatements(database)[0], database);
if (i == 2) {
assertEquals(expectedQuery.get(0), sql[0].toSql());
}
}
i++;
}
}
示例15: parseAndGenerate
import liquibase.parser.ChangeLogParserFactory; //导入依赖的package包/类
@Test
public void parseAndGenerate() throws Exception {
if (connection == null) {
return;
}
Database database = liquiBase.getDatabase();
ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor();
ChangeLogParameters changeLogParameters = new ChangeLogParameters();
DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
changeLog.validate(database);
List<ChangeSet> changeSets = changeLog.getChangeSets();
List<String> expectedQuery = new ArrayList<String>();
expectedQuery.add("CREATE TABLE LBUSER.AddDeferredPrimaryKeyTest (id NUMBER(10), name VARCHAR2(50))");
expectedQuery.add("ALTER TABLE LBUSER.AddDeferredPrimaryKeyTest ADD CONSTRAINT PK_AddDeferredPrimaryKeyTest PRIMARY KEY (id) DEFERRABLE INITIALLY DEFERRED");
int i = 0;
for (ChangeSet changeSet : changeSets) {
for (Change change : changeSet.getChanges()) {
Sql[] sql = SqlGeneratorFactory.getInstance().generateSql(change.generateStatements(database)[0], database);
assertEquals(expectedQuery.get(i), sql[0].toSql());
}
i++;
}
}