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

Nicolas Capponi
19.14.2016 a7067bf75cd103dc367c912983ea14b7111306a4
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
@@ -17,6 +17,7 @@
package org.opends.guitools.controlpanel.task;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.util.SchemaUtils.*;
import java.io.File;
import java.io.IOException;
@@ -40,6 +41,8 @@
import org.forgerock.i18n.LocalizableMessageDescriptor.Arg1;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.forgerock.opendj.ldap.schema.SchemaElement;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
import org.opends.guitools.controlpanel.ui.ColorAndFontConstants;
@@ -54,7 +57,6 @@
import org.opends.server.types.LDIFExportConfig;
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.Modification;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.OpenDsException;
import org.opends.server.types.Schema;
import org.opends.server.util.LDIFReader;
@@ -528,17 +530,20 @@
        required = ocToDelete.getDeclaredRequiredAttributes();
        optional = ocToDelete.getDeclaredOptionalAttributes();
      }
      return new ObjectClass("",
          ocToDelete.getNameOrOID(),
          new ArrayList<>(ocToDelete.getNormalizedNames()),
          ocToDelete.getOID(),
          ocToDelete.getDescription(),
          newSuperiors,
          required,
          optional,
          ocToDelete.getObjectClassType(),
          ocToDelete.isObsolete(),
          extraProperties);
      final String oid = ocToDelete.getOID();
      final Schema schema = getInfo().getServerDescriptor().getSchema();
      return new SchemaBuilder(schema.getSchemaNG()).buildObjectClass(oid)
          .names(ocToDelete.getNames())
          .description(ocToDelete.getDescription())
          .superiorObjectClasses(getNameOrOIDsForOCs(newSuperiors))
          .requiredAttributes(getNameOrOIDsForATs(required))
          .optionalAttributes(getNameOrOIDsForATs(optional))
          .type(ocToDelete.getObjectClassType())
          .obsolete(ocToDelete.isObsolete())
          .extraProperties(extraProperties)
          .addToSchema()
          .toSchema()
          .getObjectClass(oid);
    }
    else
    {
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyAttributeTask.java
@@ -18,6 +18,7 @@
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.SchemaUtils.*;
import java.util.ArrayList;
import java.util.Collection;
@@ -32,12 +33,13 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
import org.opends.guitools.controlpanel.ui.ColorAndFontConstants;
import org.opends.guitools.controlpanel.ui.ProgressDialog;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.schema.SomeSchemaElement;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.OpenDsException;
import org.opends.server.types.Schema;
@@ -163,7 +165,6 @@
      ocToDelete.getOptionalAttributes().contains(oldAttribute);
    if (containsAttribute)
    {
      ArrayList<String> allNames = new ArrayList<>(ocToDelete.getNormalizedNames());
      Map<String, List<String>> extraProperties =
        DeleteSchemaElementsTask.cloneExtraProperties(ocToDelete);
      Set<AttributeType> required = new HashSet<>(ocToDelete.getDeclaredRequiredAttributes());
@@ -178,17 +179,21 @@
        optional.remove(oldAttribute);
        optional.add(newAttribute);
      }
      return new ObjectClass("",
          ocToDelete.getNameOrOID(),
          allNames,
          ocToDelete.getOID(),
          ocToDelete.getDescription(),
          ocToDelete.getSuperiorClasses(),
          required,
          optional,
          ocToDelete.getObjectClassType(),
          ocToDelete.isObsolete(),
          extraProperties);
      Schema schema = getInfo().getServerDescriptor().getSchema();
      String oid = ocToDelete.getOID();
      return new SchemaBuilder(schema.getSchemaNG()).buildObjectClass(oid)
          .names(ocToDelete.getNames())
          .description(ocToDelete.getDescription())
          .superiorObjectClasses(getNameOrOIDsForOCs(ocToDelete.getSuperiorClasses()))
          .requiredAttributes(getNameOrOIDsForATs(required))
          .optionalAttributes(getNameOrOIDsForATs(optional))
          .type(ocToDelete.getObjectClassType())
          .obsolete(ocToDelete.isObsolete())
          .extraProperties(extraProperties)
          .addToSchema()
          .toSchema()
          .getObjectClass(oid);
    }
    else
    {
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyObjectClassTask.java
@@ -18,6 +18,7 @@
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.SchemaUtils.*;
import java.util.ArrayList;
import java.util.Collection;
@@ -36,6 +37,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.opends.server.types.OpenDsException;
import org.opends.server.types.Schema;
@@ -145,7 +147,6 @@
    }
    else if (currentSups.contains(oldObjectClass))
    {
      ArrayList<String> allNames = new ArrayList<>(ocToDelete.getNormalizedNames());
      Map<String, List<String>> extraProperties =
        DeleteSchemaElementsTask.cloneExtraProperties(ocToDelete);
      Set<ObjectClass> newSups = new LinkedHashSet<>();
@@ -160,17 +161,20 @@
          newSups.add(oc);
        }
      }
      return new ObjectClass("",
          ocToDelete.getNameOrOID(),
          allNames,
          ocToDelete.getOID(),
          ocToDelete.getDescription(),
          newSups,
          ocToDelete.getDeclaredRequiredAttributes(),
          ocToDelete.getDeclaredOptionalAttributes(),
          ocToDelete.getObjectClassType(),
          ocToDelete.isObsolete(),
          extraProperties);
      final String oid = ocToDelete.getOID();
      final Schema schema = getInfo().getServerDescriptor().getSchema();
      return new SchemaBuilder(schema.getSchemaNG()).buildObjectClass(oid)
          .names(ocToDelete.getNames())
          .description(ocToDelete.getDescription())
          .superiorObjectClasses(getNameOrOIDsForOCs(newSups))
          .requiredAttributes(getNameOrOIDsForATs(ocToDelete.getDeclaredRequiredAttributes()))
          .optionalAttributes(getNameOrOIDsForATs(ocToDelete.getDeclaredOptionalAttributes()))
          .type(ocToDelete.getObjectClassType())
          .obsolete(ocToDelete.isObsolete())
          .extraProperties(extraProperties)
          .addToSchema()
          .toSchema()
          .getObjectClass(oid);
    }
    else
    {
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java
@@ -19,6 +19,7 @@
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.types.CommonSchemaElements.*;
import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.SchemaUtils.*;
import java.awt.Component;
import java.awt.Container;
@@ -60,7 +61,9 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageBuilder;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.datamodel.SortableListModel;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
@@ -78,7 +81,6 @@
import org.opends.guitools.controlpanel.ui.renderer.SchemaElementComboBoxCellRenderer;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.schema.SomeSchemaElement;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Schema;
import org.opends.server.util.ServerConstants;
import org.opends.server.util.StaticUtils;
@@ -962,17 +964,18 @@
  private ObjectClass getNewObjectClass()
  {
    return new ObjectClass("",
        getObjectClassName(),
        getAllNames(),
        getOID(),
        getDescription(),
        getObjectClassSuperiors(),
        getRequiredAttributes(),
        getOptionalAttributes(),
        getObjectClassType(),
        obsolete.isSelected(),
        getExtraProperties());
    return new SchemaBuilder(schema.getSchemaNG()).buildObjectClass(getOID())
        .names(getAllNames())
        .description(getDescription())
        .superiorObjectClasses(getNameOrOIDsForOCs(getObjectClassSuperiors()))
        .requiredAttributes(getNameOrOIDsForATs(getRequiredAttributes()))
        .optionalAttributes(getNameOrOIDsForATs(getOptionalAttributes()))
        .type(getObjectClassType())
        .obsolete(obsolete.isSelected())
        .extraProperties(getExtraProperties())
        .addToSchema()
        .toSchema()
        .getObjectClass(getOID());
  }
  private void updateAttributes()
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java
@@ -18,6 +18,7 @@
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.SchemaUtils.*;
import java.awt.Component;
import java.awt.GridBagConstraints;
@@ -49,7 +50,9 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageBuilder;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
import org.opends.guitools.controlpanel.event.ConfigurationElementCreatedListener;
@@ -63,7 +66,6 @@
import org.opends.guitools.controlpanel.ui.renderer.SchemaElementComboBoxCellRenderer;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.config.ConfigConstants;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Schema;
import org.opends.server.util.ServerConstants;
import org.opends.server.util.StaticUtils;
@@ -678,15 +680,18 @@
  private ObjectClass getObjectClass()
  {
    return new ObjectClass("", getText(name), getAllNames(),
        getOID(),
        getDescription(),
        getObjectClassSuperiors(),
        getRequiredAttributes(),
        getOptionalAttributes(),
        getObjectClassType(),
        obsolete.isSelected(),
        getExtraProperties());
    return new SchemaBuilder(schema.getSchemaNG()).buildObjectClass(getOID())
        .names(getAllNames())
        .description(getDescription())
        .superiorObjectClasses(getNameOrOIDsForOCs(getObjectClassSuperiors()))
        .requiredAttributes(getNameOrOIDsForATs(getRequiredAttributes()))
        .optionalAttributes(getNameOrOIDsForATs(getOptionalAttributes()))
        .type(getObjectClassType())
        .obsolete(obsolete.isSelected())
        .extraProperties(getExtraProperties())
        .addToSchema()
        .toSchema()
        .getObjectClass(getOID());
  }
  private ObjectClassType getObjectClassType()