From dee3040496389ff70cdf1cec40422284d9ca62c5 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Tue, 09 Jun 2015 10:38:15 +0000
Subject: [PATCH] OPENDJ-2092 OPENDJ-1759 New Schema elements GUI
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java | 74 +++++++++++++++++++++---------------
1 files changed, 43 insertions(+), 31 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
index 707552e..ab4d60a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
@@ -555,40 +555,52 @@
return false;
}
- // Just compare exhaustively objectclasses and attributes.
- Map<String, AttributeType> attrs1 = schema1.getAttributeTypes();
- Map<String, AttributeType> attrs2 = schema2.getAttributeTypes();
- if (attrs1.size() == attrs2.size())
- {
- for (String name : attrs1.keySet())
- {
- AttributeType attr1 = attrs1.get(name);
- AttributeType attr2 = attrs2.get(name);
- if (attr2 == null && !areAttributesEqual(attr1, attr2))
- {
- return false;
- }
- }
- }
-
- Map<String, ObjectClass> ocs1 = schema1.getObjectClasses();
- Map<String, ObjectClass> ocs2 = schema2.getObjectClasses();
- if (ocs1.size() == ocs2.size())
- {
- for (String name : ocs1.keySet())
- {
- ObjectClass oc1 = ocs1.get(name);
- ObjectClass oc2 = ocs2.get(name);
- if (oc2 == null || !areObjectClassesEqual(oc1, oc2))
- {
- return false;
- }
- }
- }
- return areEqual(schema1.getMatchingRules(), schema2.getMatchingRules())
+ return areAttributeTypesEqual(schema1, schema2)
+ && areObjectClassesEqual(schema1, schema2)
+ && areEqual(schema1.getMatchingRules(), schema2.getMatchingRules())
&& areEqual(schema1.getSyntaxes(), schema2.getSyntaxes());
}
+ private static boolean areAttributeTypesEqual(Schema schema1, Schema schema2)
+ {
+ final Map<String, AttributeType> attrs1 = schema1.getAttributeTypes();
+ final Map<String, AttributeType> attrs2 = schema2.getAttributeTypes();
+ if (attrs1.size() != attrs2.size())
+ {
+ return false;
+ }
+ for (String name : attrs1.keySet())
+ {
+ AttributeType attr1 = attrs1.get(name);
+ AttributeType attr2 = attrs2.get(name);
+ if (attr2 == null && !areAttributesEqual(attr1, attr2))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private static boolean areObjectClassesEqual(Schema schema1, Schema schema2)
+ {
+ final Map<String, ObjectClass> ocs1 = schema1.getObjectClasses();
+ final Map<String, ObjectClass> ocs2 = schema2.getObjectClasses();
+ if (ocs1.size() != ocs2.size())
+ {
+ return false;
+ }
+ for (String name : ocs1.keySet())
+ {
+ ObjectClass oc1 = ocs1.get(name);
+ ObjectClass oc2 = ocs2.get(name);
+ if (oc2 == null || !areObjectClassesEqual(oc1, oc2))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
/**
* Method used to compare attributes defined in the schema.
* Returns <CODE>true</CODE> if the two schema attributes are equal and
--
Gitblit v1.10.0