ALF-10771: adding validation to schema compare tool

Added support to DbObjects to accept visitors
Added ValidatingVisitor to invoke suitable validator on each DbObject
Added NameValidator and NullValidator to operate on DbObject types
Added test suites



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31494 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Matt Ward
2011-10-26 16:01:38 +00:00
parent 7764900451
commit ec302df6ed
33 changed files with 896 additions and 30 deletions

View File

@@ -85,10 +85,11 @@ public class SchemaComparatorTest
comparator = new SchemaComparator(left, right, dialect);
comparator.compare();
comparator.validateAndCompare();
dumpDiffs(comparator.getDifferences(), false);
dumpValidation(comparator.getValidationResults());
dumpDiffs(comparator.getDifferences(), true);
Iterator<Result> it = comparator.getDifferences().iterator();
assertHasDifference("left_schema", "left_schema", "right_schema", it.next()); // schema names
@@ -136,6 +137,16 @@ public class SchemaComparatorTest
}
private void dumpValidation(List<ValidationResult> validationResults)
{
System.out.println("Validation Results (" + validationResults.size() + ")");
for (ValidationResult r : validationResults)
{
System.out.println(r);
}
}
@Test
public void canReportWarnings()
{
@@ -149,10 +160,11 @@ public class SchemaComparatorTest
comparator = new SchemaComparator(left, right, dialect);
comparator.compare();
comparator.validateAndCompare();
dumpDiffs(comparator.getDifferences(), true);
dumpValidation(comparator.getValidationResults());
Iterator<Result> it = comparator.getDifferences().iterator();
assertHasDifference("left_schema", "left_schema", "right_schema", it.next());
assertNoDifference("left_schema.tbl_example", "tbl_example", it.next());
@@ -233,9 +245,7 @@ public class SchemaComparatorTest
assertEquals(value, result.getRight());
}
/**
* @param differences
*/
private void dumpDiffs(Differences differences, boolean showNonDifferences)
{
System.out.println("Differences (" + differences.size() + ")");