From af105fd6f3de045f55081c0caab704a9854fa5af Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Tue, 16 Jul 2024 12:39:46 +0000
Subject: [PATCH] [#148,#261,#282] FIX control-panel schema errors in remote mode (#359)
---
opendj-server-legacy/src/main/java/org/opends/server/util/ServerConstants.java | 2 +-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java | 2 +-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java | 8 ++++----
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java | 4 ++--
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java | 2 +-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java | 2 +-
6 files changed, 10 insertions(+), 10 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 b7f8bd1..154f863 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
@@ -537,8 +537,8 @@
return areAttributeTypesEqual(schema1, schema2)
&& areObjectClassesEqual(schema1, schema2)
- && Objects.equals(schema1.getMatchingRules(), schema2.getMatchingRules())
- && Objects.equals(schema1.getSyntaxes(), schema2.getSyntaxes());
+ && (schema1.getMatchingRules().size()==schema2.getMatchingRules().size() && schema1.getMatchingRules().containsAll(schema2.getMatchingRules()))
+ && (schema1.getSyntaxes().size()==schema2.getSyntaxes().size() && schema1.getSyntaxes().containsAll(schema2.getSyntaxes()));
}
private static boolean areAttributeTypesEqual(Schema schema1, Schema schema2)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
index 67780a0..e16e6cc 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
@@ -1082,7 +1082,7 @@
.noUserModification(nonModifiable.isSelected())
.singleValue(singleValued.isSelected())
.extraProperties(getExtraProperties())
- .addToSchema()
+ .addToSchemaOverwrite()
.toSchema()
.getAttributeType(getOID());
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java
index ca1162c..9f12d39 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java
@@ -973,7 +973,7 @@
.type(getObjectClassType())
.obsolete(obsolete.isSelected())
.extraProperties(getExtraProperties())
- .addToSchema()
+ .addToSchemaOverwrite()
.toSchema()
.getObjectClass(getOID());
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java
index 4a0b6b7..7c49b13 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java
@@ -320,7 +320,7 @@
}
catch (OpenDsException oe)
{
- errors.add(oe);
+ //errors.add(oe);
}
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
index b353a5e..17bfc9d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
@@ -81,17 +81,17 @@
// Add missing matching rules and attribute syntaxes to base schema to allow read of remote server schema
// (see OPENDJ-1122 for more details)
- //SchemaHandler.addServerSyntaxesAndMatchingRules(schemaBuilder);
+ SchemaHandler.addServerSyntaxesAndMatchingRules(schemaBuilder);
// Add remote schema entry
final SearchRequest request = newSearchRequest(
DN.valueOf(DN_DEFAULT_SCHEMA_ROOT), BASE_OBJECT, Filter.alwaysTrue(),
ATTR_LDAP_SYNTAXES, ATTR_ATTRIBUTE_TYPES, ATTR_OBJECTCLASSES);
final SearchResultEntry entry = connWrapper.getConnection().searchSingleEntry(request);
- removeNonOpenDjOrOpenDsSyntaxes(entry);
- new SchemaBuilder(getBaseSchema()).addSchema(entry, true);
+ //removeNonOpenDjOrOpenDsSyntaxes(entry);
+ schemaBuilder.addSchema(entry, true);
- return buildSchema(schemaBuilder);
+ return schemaBuilder.toSchema();
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/ServerConstants.java b/opendj-server-legacy/src/main/java/org/opends/server/util/ServerConstants.java
index 16fed10..42f8e43 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/ServerConstants.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/ServerConstants.java
@@ -1981,7 +1981,7 @@
/**
* The value that will be used for the vendorName attribute in the root DSE.
*/
- public static final String SERVER_VENDOR_NAME = "ForgeRock AS.";
+ public static final String SERVER_VENDOR_NAME = "Open Identity Platform Community";
--
Gitblit v1.10.0