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:
Matt Ward
2011-10-27 18:07:06 +00:00
parent 385003c6c9
commit 723fe98cf2
37 changed files with 1022 additions and 613 deletions

View File

@@ -20,7 +20,7 @@ package org.alfresco.util.schemacomp.model;
import org.alfresco.util.schemacomp.DbObjectVisitor;
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;
/**
@@ -54,7 +54,7 @@ public interface DbObject
/**
* Generate a report of differences between this object ('left') and another object ('right').
* Differences between the left and right objects under inspection are captured in the {@link Differences}
* Differences between the left and right objects under inspection are captured in the {@link Results}
* object passed in to this method.
*
* @param right The object to compare against.
@@ -70,4 +70,20 @@ public interface DbObject
* @param visitor
*/
void accept(DbObjectVisitor visitor);
/**
* Get the parent object for which this object is a child. If this is the root object
* then null should be returned.
*
* @return Parent reference or null
*/
DbObject getParent();
/**
* Sets the parent object.
*
* @see #getParent()
* @param parent
*/
void setParent(DbObject parent);
}