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/NewObjectClassPanel.java | 25 +++++++++++++++----------
1 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java
index f90a3c8..99601c3 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java
+++ b/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()
--
Gitblit v1.10.0