From a7067bf75cd103dc367c912983ea14b7111306a4 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Mon, 30 May 2016 10:43:10 +0000
Subject: [PATCH] OPENDJ-2987 Fix construction of object classes in control panel
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java | 27 +++++++++++++++------------
1 files changed, 15 insertions(+), 12 deletions(-)
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 1a47d7a..2f33e7e 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
@@ -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()
--
Gitblit v1.10.0