@Override public String valueOf(ChangeType changeType) { return changeType.getName(); } }).toImmutable();
@Override public boolean accept(ChangeType changeType1) { return changeType1.isRerunnable(); } });
public File getDestinationFile(File destinationRoot, boolean applyBaseline) { File root = new File(destinationRoot, this.schema); if (this.dbObjectType != null) { String duplicateSuffix = this.duplicate ? "-possibleDuplicateToCleanUp" + DaConstants.ANALYZE_FOLDER_SUFFIX : ""; root = new File(root, this.dbObjectType.getDirectoryName() + duplicateSuffix); if (applyBaseline) { root = new File(root, "baseline"); } } String fileName = applyBaseline ? this.objectName + ".baseline.sql" : this.objectName + ".sql"; return new File(root, fileName); }
private ChangeType viewChangeType() { ChangeType changeType = mock(ChangeType.class); when(changeType.getName()).thenReturn("view"); when(changeType.isRerunnable()).thenReturn(true); return changeType; } }
private void conversionTest(String testName, String platformName) { final File outputFolder = new File("./target/revengTest/" + testName); FileUtils.deleteQuietly(outputFolder); final ReladomoSchemaConverter reladomoSchemaConverter = new ReladomoSchemaConverter(); final ChangeType tableChangeType = mock(ChangeType.class); when(tableChangeType.getName()).thenReturn(ChangeType.TABLE_STR); when(tableChangeType.getDirectoryName()).thenReturn("table"); DbPlatform platform = mock(DbPlatform.class); when(platform.getName()).thenReturn(platformName); when(platform.getChangeType(ChangeType.TABLE_STR)).thenReturn(tableChangeType); when(platform.getObjectExclusionPredicateBuilder()).thenReturn(new ObjectTypeAndNamePredicateBuilder(ObjectTypeAndNamePredicateBuilder.FilterType.EXCLUDE)); when(platform.convertDbObjectName()).thenReturn(Functions.getStringPassThru()); reladomoSchemaConverter.convertDdlsToDaFormat(platform, new File("./src/test/resources/reveng/input/" + testName), outputFolder, "yourSchema", true, null); DirectoryAssert.assertDirectoriesEqual(new File("./src/test/resources/reveng/expected/" + testName), new File(outputFolder, "final")); } }
@Test public void readFileWithBody() throws Exception { RerunnableChangeParser parser = new RerunnableChangeParser(); String fileContent = "main\n" + "//// BODY\n" + "body content\n" + ""; ChangeType mainChangeType = mock(ChangeType.class); ChangeType bodyChangeType = mock(ChangeType.class); when(mainChangeType.getBodyChangeType()).thenReturn(bodyChangeType); ImmutableList<ChangeInput> changes = parser.value(mainChangeType, null, fileContent, objectName, "schema", null); Verify.assertSize(2, changes); ChangeInput c1 = changes.get(0); assertEquals(objectName, c1.getObjectName()); assertEquals("main", c1.getContent()); ChangeInput c2 = changes.get(1); assertEquals(objectName, c2.getObjectName()); assertEquals("body", c2.getChangeKey().getChangeName()); assertEquals("body content", c2.getContent()); }
private SortableDependencyGroup newChange(String schema, String changeTypeName, String objectName, String changeName, int orderWithinObject, ImmutableSet<String> dependencies) { ChangeType changeType = mock(ChangeType.class); when(changeType.getName()).thenReturn(changeTypeName); when(changeType.isRerunnable()).thenReturn(true); SortableDependency sort = mock(SortableDependency.class); ObjectKey key = new ObjectKey(schema, objectName, changeType); when(sort.getChangeKey()).thenReturn(new ChangeKey(key, changeName)); if (dependencies != null) { when(sort.getCodeDependencies()).thenReturn(dependencies.collectWith(new Function2<String, CodeDependencyType, CodeDependency>() { @Override public CodeDependency value(String target, CodeDependencyType codeDependencyType) { return new CodeDependency(target, codeDependencyType); } }, CodeDependencyType.EXPLICIT)); } when(sort.getOrderWithinObject()).thenReturn(orderWithinObject); // to print out a nice message for the mock; we do need the string variable on a separate line String keyString = key.toString(); when(sort.toString()).thenReturn(keyString); SortableDependencyGroup depGroup = mock(SortableDependencyGroup.class); when(depGroup.getComponents()).thenReturn(Sets.immutable.<SortableDependency>with(sort)); return depGroup; } }
@Override public String valueOf(ChangeType changeType) { return changeType.getName(); } }).toImmutable();
@Override public Change valueOf(DbCleanCommand cleanCommand) { MutableCollection<Schema> schemas = physicalSchemaToSchemaMap.get(cleanCommand.getPhysicalSchema()); if (cleanCommand.getObjectType().isRerunnable()) { ChangeRerunnable change = new ChangeRerunnable(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "hash" , "n/a" ); return change; } else { ChangeIncremental dbChangeIncremental = new ChangeIncremental(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "change" + this.changeIndex++ , 0 , "hash" , cleanCommand.getSqlStatement() ); dbChangeIncremental.setDrop(true); dbChangeIncremental.setManuallyCodedDrop(cleanCommand.getObjectType().getName().equals(ChangeType.FOREIGN_KEY_STR)); dbChangeIncremental.setForceDropForEnvCleaning(true); return dbChangeIncremental; } } });
public RevEngDestination(String schema, ChangeType dbObjectType, String objectName, boolean duplicate) { this.schema = schema; this.dbObjectType = dbObjectType; this.objectName = objectName; this.duplicate = duplicate; this.baselineEligible = !dbObjectType.isRerunnable(); }
public File getDestinationFile(File destinationRoot, boolean applyBaseline) { File root = new File(destinationRoot, this.schema); if (this.dbObjectType != null) { String duplicateSuffix = this.duplicate ? "-possibleDuplicateToCleanUp" + DaConstants.ANALYZE_FOLDER_SUFFIX : ""; root = new File(root, this.dbObjectType.getDirectoryName() + duplicateSuffix); if (applyBaseline) { root = new File(root, "baseline"); } } String fileName = applyBaseline ? this.objectName + ".baseline.sql" : this.objectName + ".sql"; return new File(root, fileName); }
@Override public Change valueOf(DbCleanCommand cleanCommand) { MutableCollection<Schema> schemas = physicalSchemaToSchemaMap.get(cleanCommand.getPhysicalSchema()); if (cleanCommand.getObjectType().isRerunnable()) { ChangeRerunnable change = new ChangeRerunnable(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "hash" , "n/a" ); return change; } else { ChangeIncremental dbChangeIncremental = new ChangeIncremental(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "change" + this.changeIndex++ , 0 , "hash" , cleanCommand.getSqlStatement() ); dbChangeIncremental.setDrop(true); dbChangeIncremental.setManuallyCodedDrop(cleanCommand.getObjectType().getName().equals(ChangeType.FOREIGN_KEY_STR)); dbChangeIncremental.setForceDropForEnvCleaning(true); return dbChangeIncremental; } } });
@Override public boolean accept(ChangeType changeType1) { return changeType1.isRerunnable(); } });
FileObject changeTypeDir = schemaDir.getChild(changeType.getDirectoryName()); if (changeTypeDir != null && changeTypeDir.isReadable() && changeTypeDir.getType() == FileType.FOLDER) { File fileComparisonFileRoot = new File(new File(outputDir, fileComparison.getSchemaName()), changeType.getDirectoryName()); int index = 0; for (RichIterable<Pair<String, FileObject>> fileComparisonPairs : fileComparison.getContentToEnvsMap().multiValuesView()) {
public RevEngDestination(String schema, ChangeType dbObjectType, String objectName, boolean duplicate) { this.schema = schema; this.dbObjectType = dbObjectType; this.objectName = objectName; this.duplicate = duplicate; this.baselineEligible = !dbObjectType.isRerunnable(); }
FileObject changeTypeDir = schemaDir.getChild(changeType.getDirectoryName()); if (changeTypeDir != null && changeTypeDir.isReadable() && changeTypeDir.getType() == FileType.FOLDER) { File fileComparisonFileRoot = new File(new File(outputDir, fileComparison.getSchemaName()), changeType.getDirectoryName()); int index = 0; for (RichIterable<Pair<String, FileObject>> fileComparisonPairs : fileComparison.getContentToEnvsMap().multiValuesView()) {
@Override public boolean accept(ChangeType it) { return it.getName().equals(changeTypeName); } });
@Override public boolean accept(Change change) { return change.getChangeType().isRerunnable(); } });