mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
ALF-7260: schema comparator
* replace path/push/pop mechanism as it doesn't work well at reporting where differences/validation errors occur. * add getParent() to DbObject - so that a path-style identifier can be deduced for a DbObject when needed * add DbProperty to specify a specific DbObject's property and value -- acts as a schema location pointer * refactored Result code (need difference result and validation error result) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31527 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -19,8 +19,9 @@
|
||||
package org.alfresco.util.schemacomp.model;
|
||||
|
||||
import org.alfresco.util.schemacomp.DbObjectVisitor;
|
||||
import org.alfresco.util.schemacomp.DbProperty;
|
||||
import org.alfresco.util.schemacomp.DiffContext;
|
||||
import org.alfresco.util.schemacomp.Differences;
|
||||
import org.alfresco.util.schemacomp.Results;
|
||||
import org.alfresco.util.schemacomp.Result.Strength;
|
||||
|
||||
/**
|
||||
@@ -37,13 +38,14 @@ public class Column extends AbstractDbObject
|
||||
/**
|
||||
* Construct a Column.
|
||||
*
|
||||
* @table the parent table
|
||||
* @param name
|
||||
* @param type
|
||||
* @param nullable
|
||||
*/
|
||||
public Column(String name, String type, boolean nullable)
|
||||
public Column(Table table, String name, String type, boolean nullable)
|
||||
{
|
||||
super(name);
|
||||
super(table, name);
|
||||
this.type = type;
|
||||
this.nullable = nullable;
|
||||
}
|
||||
@@ -109,10 +111,16 @@ public class Column extends AbstractDbObject
|
||||
@Override
|
||||
protected void doDiff(DbObject right, DiffContext ctx, Strength strength)
|
||||
{
|
||||
Differences differences = ctx.getDifferences();
|
||||
Column rightColumn = (Column) right;
|
||||
comparisonUtils.compareSimple(type, rightColumn.type, ctx);
|
||||
comparisonUtils.compareSimple(nullable, rightColumn.nullable, ctx);
|
||||
Results differences = ctx.getDifferences();
|
||||
DbProperty thisTypeProp = new DbProperty(this, "type");
|
||||
DbProperty thisNullableProp = new DbProperty(this, "nullable");
|
||||
|
||||
Column thatColumn = (Column) right;
|
||||
DbProperty thatTypeProp = new DbProperty(thatColumn, "type");
|
||||
DbProperty thatNullableProp = new DbProperty(thatColumn, "nullable");
|
||||
|
||||
comparisonUtils.compareSimple(thisTypeProp, thatTypeProp, ctx);
|
||||
comparisonUtils.compareSimple(thisNullableProp, thatNullableProp, ctx);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user