You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2007/07/20 11:44:06 UTC
svn commit: r557943 - in
/directory/studio/trunk/studio-apacheds-schemaeditor/src:
main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/
test/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/
Author: pamarcelot
Date: Fri Jul 20 02:44:05 2007
New Revision: 557943
URL: http://svn.apache.org/viewvc?view=rev&rev=557943
Log:
Added getDifferences method for two lists of schemas.
Refactored the DifferenceEngine methods.
Updated tests.
Modified:
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/AttributeTypeDifference.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngine.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/ObjectClassDifference.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/test/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngineTest.java
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/AttributeTypeDifference.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/AttributeTypeDifference.java?view=diff&rev=557943&r1=557942&r2=557943
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/AttributeTypeDifference.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/AttributeTypeDifference.java Fri Jul 20 02:44:05 2007
@@ -91,6 +91,18 @@
/**
+ * Adds differences.
+ *
+ * @param differences
+ * the differences
+ */
+ public void addDifferences( List<PropertyDifference> differences )
+ {
+ differences.addAll( differences );
+ }
+
+
+ /**
* Removes a difference.
*
* @param difference
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngine.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngine.java?view=diff&rev=557943&r1=557942&r2=557943
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngine.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngine.java Fri Jul 20 02:44:05 2007
@@ -21,13 +21,16 @@
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.directory.shared.ldap.schema.ObjectClassTypeEnum;
import org.apache.directory.shared.ldap.schema.SchemaObject;
import org.apache.directory.shared.ldap.schema.UsageEnum;
import org.apache.directory.studio.apacheds.schemaeditor.model.AttributeTypeImpl;
import org.apache.directory.studio.apacheds.schemaeditor.model.ObjectClassImpl;
+import org.apache.directory.studio.apacheds.schemaeditor.model.Schema;
/**
@@ -40,6 +43,169 @@
public class DifferenceEngine
{
/**
+ * Gets the differences between two Lists of Schemas.
+ *
+ * @param l1
+ * the first list
+ * @param l2
+ * the second list
+ * @return
+ * the differences between the two schema Lists
+ */
+ public static List<Difference> getDifferences( List<Schema> l1, List<Schema> l2 )
+ {
+ List<Difference> differences = new ArrayList<Difference>();
+
+ // Building Maps for schemas
+ Map<String, Schema> mapL1 = new HashMap<String, Schema>();
+ for ( Schema schema : l1 )
+ {
+ mapL1.put( schema.getName().toLowerCase(), schema );
+ }
+ Map<String, Schema> mapL2 = new HashMap<String, Schema>();
+ for ( Schema schema : l2 )
+ {
+ mapL2.put( schema.getName().toLowerCase(), schema );
+ }
+
+ // Looping on schemas from the first list
+ for ( Schema schemaFromL1 : l1 )
+ {
+ Schema schemaFromL2 = mapL2.get( schemaFromL1.getName().toLowerCase() );
+ if ( schemaFromL2 == null )
+ {
+ SchemaDifference schemaDifference = new SchemaDifference( schemaFromL1, null, DifferenceType.REMOVED );
+ differences.add( schemaDifference );
+ }
+ else
+ {
+ SchemaDifference schemaDifference = new SchemaDifference( schemaFromL1, schemaFromL2,
+ DifferenceType.IDENTICAL );
+
+ // Building Maps for attribute types
+ Map<String, AttributeTypeImpl> atMapL1 = new HashMap<String, AttributeTypeImpl>();
+ for ( AttributeTypeImpl at : schemaFromL1.getAttributeTypes() )
+ {
+ atMapL1.put( at.getOid(), at );
+ }
+ Map<String, AttributeTypeImpl> atMapL2 = new HashMap<String, AttributeTypeImpl>();
+ for ( AttributeTypeImpl at : schemaFromL2.getAttributeTypes() )
+ {
+ atMapL2.put( at.getOid(), at );
+ }
+
+ // Looping on the attribute types from the Schema from the first list
+ for ( AttributeTypeImpl atFromL1 : schemaFromL1.getAttributeTypes() )
+ {
+ AttributeTypeImpl atFromL2 = atMapL2.get( atFromL1.getOid() );
+ if ( atFromL2 == null )
+ {
+ AttributeTypeDifference attributeTypeDifference = new AttributeTypeDifference( atFromL1, null,
+ DifferenceType.REMOVED );
+ schemaDifference.addAttributeTypeDifference( attributeTypeDifference );
+ schemaDifference.setType( DifferenceType.MODIFIED );
+ }
+ else
+ {
+ AttributeTypeDifference attributeTypeDifference = new AttributeTypeDifference( atFromL1,
+ atFromL2, DifferenceType.IDENTICAL );
+ schemaDifference.addAttributeTypeDifference( attributeTypeDifference );
+
+ List<PropertyDifference> atDifferences = getDifferences( atFromL1, atFromL2 );
+ if ( atDifferences.size() > 0 )
+ {
+ attributeTypeDifference.setType( DifferenceType.MODIFIED );
+ attributeTypeDifference.addDifferences( atDifferences );
+ schemaDifference.setType( DifferenceType.MODIFIED );
+ }
+ }
+ }
+
+ // Looping on the attribute types from the Schema from the second list
+ for ( AttributeTypeImpl atFromL2 : schemaFromL2.getAttributeTypes() )
+ {
+ AttributeTypeImpl atFromL1 = atMapL2.get( atFromL2.getOid() );
+ if ( atFromL1 == null )
+ {
+ AttributeTypeDifference attributeTypeDifference = new AttributeTypeDifference( null, atFromL2,
+ DifferenceType.ADDED );
+ schemaDifference.addAttributeTypeDifference( attributeTypeDifference );
+ schemaDifference.setType( DifferenceType.MODIFIED );
+ }
+ // If atFromL1 exists, then it has already been processed when looping on the first list.
+ }
+
+ // Building Maps for object classes
+ Map<String, ObjectClassImpl> ocMapL1 = new HashMap<String, ObjectClassImpl>();
+ for ( ObjectClassImpl oc : schemaFromL1.getObjectClasses() )
+ {
+ ocMapL1.put( oc.getOid(), oc );
+ }
+ Map<String, ObjectClassImpl> ocMapL2 = new HashMap<String, ObjectClassImpl>();
+ for ( ObjectClassImpl oc : schemaFromL2.getObjectClasses() )
+ {
+ ocMapL2.put( oc.getOid(), oc );
+ }
+
+ // Looping on the object classes from the Schema from the first list
+ for ( ObjectClassImpl ocFromL1 : schemaFromL1.getObjectClasses() )
+ {
+ ObjectClassImpl ocFromL2 = ocMapL2.get( ocFromL1.getOid() );
+ if ( ocFromL2 == null )
+ {
+ ObjectClassDifference objectClassDifference = new ObjectClassDifference( ocFromL1, null,
+ DifferenceType.REMOVED );
+ schemaDifference.addObjectClassDifference( objectClassDifference );
+ schemaDifference.setType( DifferenceType.MODIFIED );
+ }
+ else
+ {
+ ObjectClassDifference objectClassDifference = new ObjectClassDifference( ocFromL1, ocFromL2,
+ DifferenceType.IDENTICAL );
+ schemaDifference.addObjectClassDifference( objectClassDifference );
+
+ List<PropertyDifference> ocDifferences = getDifferences( ocFromL1, ocFromL2 );
+ if ( ocDifferences.size() > 0 )
+ {
+ objectClassDifference.setType( DifferenceType.MODIFIED );
+ objectClassDifference.addDifferences( ocDifferences );
+ schemaDifference.setType( DifferenceType.MODIFIED );
+ }
+ }
+ }
+
+ // Looping on the object classes from the Schema from the second list
+ for ( ObjectClassImpl ocFromL2 : schemaFromL2.getObjectClasses() )
+ {
+ ObjectClassImpl ocFromL1 = ocMapL2.get( ocFromL2.getOid() );
+ if ( ocFromL1 == null )
+ {
+ ObjectClassDifference objectClassDifference = new ObjectClassDifference( null, ocFromL2,
+ DifferenceType.ADDED );
+ schemaDifference.addObjectClassDifference( objectClassDifference );
+ schemaDifference.setType( DifferenceType.MODIFIED );
+ }
+ // If ocFromL1 exists, then it has already been processed when looping on the first list.
+ }
+ }
+ }
+
+ // Looping on schemas from the second list
+ for ( Schema schemaFromL2 : l2 )
+ {
+ Schema schemaFromL1 = mapL1.get( schemaFromL2.getName().toLowerCase() );
+ if ( schemaFromL1 == null )
+ {
+ SchemaDifference schemaDifference = new SchemaDifference( null, schemaFromL2, DifferenceType.ADDED );
+ differences.add( schemaDifference );
+ }
+ }
+
+ return differences;
+ }
+
+
+ /**
* Gets the differences between two ObjectClassImpl Objects.
*
* @param oc1
@@ -49,29 +215,29 @@
* @return
* the differences between two ObjectClassImpl Objects.
*/
- public static List<Difference> getDifferences( ObjectClassImpl oc1, ObjectClassImpl oc2 )
+ public static List<PropertyDifference> getDifferences( ObjectClassImpl oc1, ObjectClassImpl oc2 )
{
- List<Difference> differences = new ArrayList<Difference>();
+ List<PropertyDifference> differences = new ArrayList<PropertyDifference>();
// Aliases
differences.addAll( getAliasesDifferences( oc1, oc2 ) );
// Description
- Difference descriptionDifference = getDescriptionDifference( oc1, oc2 );
+ PropertyDifference descriptionDifference = getDescriptionDifference( oc1, oc2 );
if ( descriptionDifference != null )
{
differences.add( descriptionDifference );
}
// Obsolete
- Difference obsoleteDifference = getObsoleteDifference( oc1, oc2 );
+ PropertyDifference obsoleteDifference = getObsoleteDifference( oc1, oc2 );
if ( obsoleteDifference != null )
{
differences.add( obsoleteDifference );
}
// Class type
- Difference classTypeDifference = getClassTypeDifference( oc1, oc2 );
+ PropertyDifference classTypeDifference = getClassTypeDifference( oc1, oc2 );
if ( classTypeDifference != null )
{
differences.add( classTypeDifference );
@@ -100,92 +266,92 @@
* @return
* the differences between two AttributeTypeImpl Objects.
*/
- public static List<Difference> getDifferences( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ public static List<PropertyDifference> getDifferences( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
- List<Difference> differences = new ArrayList<Difference>();
+ List<PropertyDifference> differences = new ArrayList<PropertyDifference>();
// Aliases
differences.addAll( getAliasesDifferences( at1, at2 ) );
// Description
- Difference descriptionDifference = getDescriptionDifference( at1, at2 );
+ PropertyDifference descriptionDifference = getDescriptionDifference( at1, at2 );
if ( descriptionDifference != null )
{
differences.add( descriptionDifference );
}
// Obsolete
- Difference obsoleteDifference = getObsoleteDifference( at1, at2 );
+ PropertyDifference obsoleteDifference = getObsoleteDifference( at1, at2 );
if ( obsoleteDifference != null )
{
differences.add( obsoleteDifference );
}
// Usage
- Difference usageDifference = getUsageDifference( at1, at2 );
+ PropertyDifference usageDifference = getUsageDifference( at1, at2 );
if ( usageDifference != null )
{
differences.add( usageDifference );
}
// Superior
- Difference superiorDifference = getSuperiorDifference( at1, at2 );
+ PropertyDifference superiorDifference = getSuperiorDifference( at1, at2 );
if ( superiorDifference != null )
{
differences.add( superiorDifference );
}
// Syntax
- Difference syntaxDifference = getSyntaxDifference( at1, at2 );
+ PropertyDifference syntaxDifference = getSyntaxDifference( at1, at2 );
if ( syntaxDifference != null )
{
differences.add( syntaxDifference );
}
// Syntax length
- Difference syntaxLengthDifference = getSyntaxLengthDifference( at1, at2 );
+ PropertyDifference syntaxLengthDifference = getSyntaxLengthDifference( at1, at2 );
if ( syntaxLengthDifference != null )
{
differences.add( syntaxLengthDifference );
}
// Single value
- Difference singleValueDifference = getSingleValueDifference( at1, at2 );
+ PropertyDifference singleValueDifference = getSingleValueDifference( at1, at2 );
if ( singleValueDifference != null )
{
differences.add( singleValueDifference );
}
// Collective
- Difference collectiveDifference = getCollectiveDifference( at1, at2 );
+ PropertyDifference collectiveDifference = getCollectiveDifference( at1, at2 );
if ( collectiveDifference != null )
{
differences.add( collectiveDifference );
}
// No user modification
- Difference noUserModificationDifference = getNoUserModificationDifference( at1, at2 );
+ PropertyDifference noUserModificationDifference = getNoUserModificationDifference( at1, at2 );
if ( noUserModificationDifference != null )
{
differences.add( noUserModificationDifference );
}
// Equality
- Difference equalityDifference = getEqualityDifference( at1, at2 );
+ PropertyDifference equalityDifference = getEqualityDifference( at1, at2 );
if ( equalityDifference != null )
{
differences.add( equalityDifference );
}
// Ordering
- Difference orderingDifference = getOrderingDifference( at1, at2 );
+ PropertyDifference orderingDifference = getOrderingDifference( at1, at2 );
if ( orderingDifference != null )
{
differences.add( orderingDifference );
}
// Substring
- Difference substringDifference = getSubstringDifference( at1, at2 );
+ PropertyDifference substringDifference = getSubstringDifference( at1, at2 );
if ( substringDifference != null )
{
differences.add( substringDifference );
@@ -205,9 +371,9 @@
* @return
* the 'Aliases' differences between the two SchemaObject Objects
*/
- private static List<Difference> getAliasesDifferences( SchemaObject so1, SchemaObject so2 )
+ private static List<PropertyDifference> getAliasesDifferences( SchemaObject so1, SchemaObject so2 )
{
- List<Difference> differences = new ArrayList<Difference>();
+ List<PropertyDifference> differences = new ArrayList<PropertyDifference>();
String[] so1Names = so1.getNames();
List<String> so1NamesList = new ArrayList<String>();
@@ -263,7 +429,7 @@
* @return
* the 'Description' difference between the two SchemaObject Objects
*/
- private static Difference getDescriptionDifference( SchemaObject so1, SchemaObject so2 )
+ private static PropertyDifference getDescriptionDifference( SchemaObject so1, SchemaObject so2 )
{
String so1Description = so1.getDescription();
String so2Description = so2.getDescription();
@@ -305,7 +471,7 @@
* @return
* the 'Obsolete' difference between the two SchemaObject Objects
*/
- private static Difference getObsoleteDifference( SchemaObject so1, SchemaObject so2 )
+ private static PropertyDifference getObsoleteDifference( SchemaObject so1, SchemaObject so2 )
{
boolean so1Obsolete = so1.isObsolete();
boolean so2Obsolete = so2.isObsolete();
@@ -332,7 +498,7 @@
* @return
* the 'Class type' difference between the two ObjectClassImpl Objects
*/
- private static Difference getClassTypeDifference( ObjectClassImpl oc1, ObjectClassImpl oc2 )
+ private static PropertyDifference getClassTypeDifference( ObjectClassImpl oc1, ObjectClassImpl oc2 )
{
ObjectClassTypeEnum oc1ClassType = oc1.getType();
ObjectClassTypeEnum oc2ClassType = oc2.getType();
@@ -359,9 +525,9 @@
* @return
* the 'Superior Classes' differences between the two ObjectClassImpl Objects
*/
- private static List<Difference> getSuperiorClassesDifferences( ObjectClassImpl oc1, ObjectClassImpl oc2 )
+ private static List<PropertyDifference> getSuperiorClassesDifferences( ObjectClassImpl oc1, ObjectClassImpl oc2 )
{
- List<Difference> differences = new ArrayList<Difference>();
+ List<PropertyDifference> differences = new ArrayList<PropertyDifference>();
String[] oc1Sups = oc1.getSuperClassesNames();
List<String> oc1SupsList = new ArrayList<String>();
@@ -417,9 +583,10 @@
* @return
* the 'Mandatory attribute types' differences between the two ObjectClassImpl Objects
*/
- private static List<Difference> getMandatoryAttributeTypesDifferences( ObjectClassImpl oc1, ObjectClassImpl oc2 )
+ private static List<PropertyDifference> getMandatoryAttributeTypesDifferences( ObjectClassImpl oc1,
+ ObjectClassImpl oc2 )
{
- List<Difference> differences = new ArrayList<Difference>();
+ List<PropertyDifference> differences = new ArrayList<PropertyDifference>();
String[] oc1Musts = oc1.getMustNamesList();
List<String> oc1MustsList = new ArrayList<String>();
@@ -475,9 +642,10 @@
* @return
* the 'Optional attribute types' differences between the two ObjectClassImpl Objects
*/
- private static List<Difference> getOptionalAttributeTypesDifferences( ObjectClassImpl oc1, ObjectClassImpl oc2 )
+ private static List<PropertyDifference> getOptionalAttributeTypesDifferences( ObjectClassImpl oc1,
+ ObjectClassImpl oc2 )
{
- List<Difference> differences = new ArrayList<Difference>();
+ List<PropertyDifference> differences = new ArrayList<PropertyDifference>();
String[] oc1Mays = oc1.getMayNamesList();
List<String> oc1MaysList = new ArrayList<String>();
@@ -533,7 +701,7 @@
* @return
* the 'Usage' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getUsageDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getUsageDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
UsageEnum at1Usage = at1.getUsage();
UsageEnum at2Usage = at2.getUsage();
@@ -560,7 +728,7 @@
* @return
* the 'Superior' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getSuperiorDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getSuperiorDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
String at1Superior = at1.getSuperiorName();
String at2Superior = at2.getSuperiorName();
@@ -602,7 +770,7 @@
* @return
* the 'Syntax' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getSyntaxDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getSyntaxDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
String at1Syntax = at1.getSyntaxOid();
String at2Syntax = at2.getSyntaxOid();
@@ -644,7 +812,7 @@
* @return
* the 'Syntax length' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getSyntaxLengthDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getSyntaxLengthDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
int at1SyntaxLength = at1.getLength();
int at2SyntaxLength = at2.getLength();
@@ -686,7 +854,7 @@
* @return
* the 'Single value' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getSingleValueDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getSingleValueDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
boolean at1SingleValue = at1.isSingleValue();
boolean at2SingleValue = at2.isSingleValue();
@@ -713,7 +881,7 @@
* @return
* the 'Collective' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getCollectiveDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getCollectiveDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
boolean at1Collective = at1.isCollective();
boolean at2Collective = at2.isCollective();
@@ -740,7 +908,7 @@
* @return
* the 'No user modification' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getNoUserModificationDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getNoUserModificationDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
boolean at1CanUserModify = at1.isCanUserModify();
boolean at2CanUserModify = at2.isCanUserModify();
@@ -767,7 +935,7 @@
* @return
* the 'Equality' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getEqualityDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getEqualityDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
String at1Equality = at1.getEqualityName();
String at2Equality = at2.getEqualityName();
@@ -809,7 +977,7 @@
* @return
* the 'Ordering' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getOrderingDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getOrderingDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
String at1Ordering = at1.getOrderingName();
String at2Ordering = at2.getOrderingName();
@@ -851,7 +1019,7 @@
* @return
* the 'Substring' difference between the two AttributeTypeImpl Objects
*/
- private static Difference getSubstringDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
+ private static PropertyDifference getSubstringDifference( AttributeTypeImpl at1, AttributeTypeImpl at2 )
{
String at1Substring = at1.getSubstrName();
String at2Substring = at2.getSubstrName();
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/ObjectClassDifference.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/ObjectClassDifference.java?view=diff&rev=557943&r1=557942&r2=557943
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/ObjectClassDifference.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/ObjectClassDifference.java Fri Jul 20 02:44:05 2007
@@ -88,6 +88,17 @@
{
differences.add( difference );
}
+
+ /**
+ * Adds differences.
+ *
+ * @param differences
+ * the differences
+ */
+ public void addDifferences( List<PropertyDifference> differences )
+ {
+ differences.addAll( differences );
+ }
/**
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/test/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngineTest.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/test/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngineTest.java?view=diff&rev=557943&r1=557942&r2=557943
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/test/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngineTest.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/test/java/org/apache/directory/studio/apacheds/schemaeditor/model/difference/DifferenceEngineTest.java Fri Jul 20 02:44:05 2007
@@ -50,7 +50,7 @@
o2.setNames( new String[]
{ "alias" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -76,7 +76,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setDescription( "Description" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -103,7 +103,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setEqualityName( "Equality" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -130,7 +130,7 @@
o2.setMustNamesList( new String[]
{ "must" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -158,7 +158,7 @@
o2.setMayNamesList( new String[]
{ "may" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -184,7 +184,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setOrderingName( "Ordering" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -210,7 +210,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setSubstrName( "Substring" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -236,7 +236,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setSuperiorName( "superiorAT" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -263,7 +263,7 @@
o2.setSuperClassesNames( new String[]
{ "superiorOC" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -289,7 +289,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setSyntaxOid( "1.2.3.4.5" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -315,7 +315,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setLength( 1234 );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -343,7 +343,7 @@
ObjectClassImpl o2 = new ObjectClassImpl( "1.2.3.4" );
o2.setType( ObjectClassTypeEnum.ABSTRACT );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -372,7 +372,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setCollective( false );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -401,7 +401,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setDescription( "New Description" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -430,7 +430,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setEqualityName( "newEqualityName" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -459,7 +459,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setCanUserModify( false );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -488,7 +488,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setObsolete( false );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -517,7 +517,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setOrderingName( "newOrderingName" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -546,7 +546,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setSingleValue( false );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -575,7 +575,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setSubstrName( "newSubstrName" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -604,7 +604,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setSuperiorName( "newSuperiorName" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -633,7 +633,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setSyntaxOid( "1.2.3.4.6" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -661,7 +661,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setLength( 12345 );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -690,7 +690,7 @@
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
o2.setUsage( UsageEnum.DIRECTORY_OPERATION );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -720,7 +720,7 @@
o2.setNames( new String[]
{ "name2" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -747,7 +747,7 @@
o1.setDescription( "Description" );
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -775,7 +775,7 @@
o1.setEqualityName( "equalityName" );
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -805,7 +805,7 @@
o2.setMustNamesList( new String[]
{ "must2" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -836,7 +836,7 @@
o2.setMayNamesList( new String[]
{ "may2" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -864,7 +864,7 @@
o1.setOrderingName( "orderingName" );
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -891,7 +891,7 @@
o1.setSubstrName( "substrName" );
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -919,7 +919,7 @@
o1.setSuperiorName( "superiorName" );
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -950,7 +950,7 @@
o2.setSuperClassesNames( new String[]
{ "sup2" } );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -978,7 +978,7 @@
o1.setSyntaxOid( "1.2.3.4.5" );
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );
@@ -1005,7 +1005,7 @@
o1.setLength( 1234 );
AttributeTypeImpl o2 = new AttributeTypeImpl( "1.2.3.4" );
- List<Difference> differences = DifferenceEngine.getDifferences( o1, o2 );
+ List<PropertyDifference> differences = DifferenceEngine.getDifferences( o1, o2 );
assertEquals( 1, differences.size() );