ALF-10771: DiffContext is now passed around to provide the DB Dialect.

Instead of the Differences being passed around on their own, the DiffContext is able to provide more information -- at present just the Dialect. The dialect can be used to change the way database objects are validated or differenced.





git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31466 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Matt Ward
2011-10-25 16:03:31 +00:00
parent 4ef52e4e72
commit 9b4cd0ab0e
23 changed files with 183 additions and 76 deletions

View File

@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.alfresco.util.schemacomp.DiffContext;
import org.alfresco.util.schemacomp.Differences;
import org.alfresco.util.schemacomp.Result.Strength;
@@ -175,12 +176,13 @@ public class Table extends AbstractDbObject
@Override
protected void doDiff(DbObject other, Differences differences, Strength strength)
{
protected void doDiff(DbObject other, DiffContext ctx, Strength strength)
{
Differences differences = ctx.getDifferences();
Table rightTable = (Table) other;
comparisonUtils.compareCollections(columns, rightTable.columns, differences);
primaryKey.diff(rightTable.primaryKey, differences, strength);
comparisonUtils.compareCollections(foreignKeys, rightTable.foreignKeys, differences);
comparisonUtils.compareCollections(indexes, rightTable.indexes, differences);
comparisonUtils.compareCollections(columns, rightTable.columns, ctx);
primaryKey.diff(rightTable.primaryKey, ctx, strength);
comparisonUtils.compareCollections(foreignKeys, rightTable.foreignKeys, ctx);
comparisonUtils.compareCollections(indexes, rightTable.indexes, ctx);
}
}