mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Valery Kharseko
16.39.2024 af105fd6f3de045f55081c0caab704a9854fa5af
[#148,#261,#282] FIX control-panel schema errors in remote mode (#359)

6 files modified
20 ■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/util/ServerConstants.java 2 ●●● patch | view | raw | blame | history
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)
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());
  }
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());
  }
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);
      }
    }
  }
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();
  }
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";