From 8b3cd28204e15e0a98ce038b355f100cd7c44e3c Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <capponi.nicolas@gmail.com>
Date: Thu, 28 Jan 2016 08:28:20 +0000
Subject: [PATCH] OPENDJ-1632 (PR-201) Migrate AttributeType in one shot

---
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyAttributeTask.java |   29 +++++------------------------
 1 files changed, 5 insertions(+), 24 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyAttributeTask.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyAttributeTask.java
index 036afe6..7a50703 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyAttributeTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/ModifyAttributeTask.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2014-2015 ForgeRock AS
+ *      Portions Copyright 2014-2016 ForgeRock AS
  */
 package org.opends.guitools.controlpanel.task;
 
@@ -41,11 +41,12 @@
 import javax.swing.SwingUtilities;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.schema.AttributeType;
 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.types.AttributeType;
+import org.opends.server.schema.SomeSchemaElement;
 import org.opends.server.types.ObjectClass;
 import org.opends.server.types.OpenDsException;
 import org.opends.server.types.Schema;
@@ -155,28 +156,8 @@
     }
     else if (oldAttribute.equals(attrToDelete.getSuperiorType()))
     {
-      ArrayList<String> allNames = new ArrayList<>(attrToDelete.getNormalizedNames());
-      Map<String, List<String>> extraProperties =
-        DeleteSchemaElementsTask.cloneExtraProperties(attrToDelete);
-      AttributeType newSuperior = newAttribute;
-      return new AttributeType(
-          "",
-          attrToDelete.getPrimaryName(),
-          allNames,
-          attrToDelete.getOID(),
-          attrToDelete.getDescription(),
-          newSuperior,
-          attrToDelete.getSyntax(),
-          attrToDelete.getApproximateMatchingRule(),
-          attrToDelete.getEqualityMatchingRule(),
-          attrToDelete.getOrderingMatchingRule(),
-          attrToDelete.getSubstringMatchingRule(),
-          attrToDelete.getUsage(),
-          attrToDelete.isCollective(),
-          attrToDelete.isNoUserModification(),
-          attrToDelete.isObsolete(),
-          attrToDelete.isSingleValue(),
-          extraProperties);
+      // get a new attribute with the new superior type
+      return SomeSchemaElement.changeSuperiorType(attrToDelete, newAttribute);
     }
     else
     {

--
Gitblit v1.10.0