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

Jean-Noel Rouvignac
23.51.2015 e1cd6c2bc4addf80537e31f929118ac8f908ea63
opendj-server-legacy/src/main/java/org/opends/admin/ads/util/PreferredConnection.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2008-2009 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 *      Portions Copyright 2013-2015 ForgeRock AS.
 */
package org.opends.admin.ads.util;
import java.util.LinkedHashSet;
@@ -38,27 +37,20 @@
 */
public class PreferredConnection
{
  private String ldapUrl;
  private Type type;
  /**
   * The type of the connection.
   */
  /** The type of the connection. */
  public enum Type
  {
    /**
     * LDAP connection.
     */
    /** LDAP connection. */
    LDAP,
    /**
     * LDAPS connection.
     */
    /** LDAPS connection. */
    LDAPS,
    /**
     * Start TLS connection.
     */
    /** Start TLS connection. */
    START_TLS
  }
  private String ldapUrl;
  private Type type;
  /**
   * The constructor of the PreferredConnection.
   * @param ldapUrl the LDAP URL to connect to the server.
@@ -89,35 +81,26 @@
    return type;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public int hashCode()
  {
    return (type+ldapUrl.toLowerCase()).hashCode();
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public boolean equals(Object o)
  {
    boolean equals = false;
    if (this != o)
    if (this == o)
    {
      if ((o != null) &&
      (o instanceof PreferredConnection))
      {
        PreferredConnection p = (PreferredConnection)o;
        equals = type == p.getType() &&
        ldapUrl.equalsIgnoreCase(p.getLDAPURL());
      }
      return true;
    }
    else
    if (o instanceof PreferredConnection)
    {
      equals = true;
      PreferredConnection p = (PreferredConnection)o;
      return type == p.getType()
          && ldapUrl.equalsIgnoreCase(p.getLDAPURL());
    }
    return equals;
    return false;
  }
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/BackendDescriptor.java
@@ -22,7 +22,7 @@
 *
 *
 *      Copyright 2008-2011 Sun Microsystems, Inc.
 *      Portions Copyright 2014 ForgeRock AS
 *      Portions Copyright 2014-2015 ForgeRock AS
 */
package org.opends.guitools.controlpanel.datamodel;
@@ -32,10 +32,7 @@
import org.opends.admin.ads.ADSContext;
/**
 * The class that describes the backend configuration.
 *
 */
/** The class that describes the backend configuration. */
public class BackendDescriptor
{
  private final String backendID;
@@ -49,40 +46,24 @@
  private final Type type;
  private int hashCode;
  /**
   * An enumeration describing the type of backend.
   */
  /** An enumeration describing the type of backend. */
  public enum Type
  {
    /**
     * The backend is a local backend.
     */
    /** The backend is a local backend. */
    LOCAL_DB,
    /**
     * The backend is a LDIF backend.
     */
    /** The backend is a LDIF backend. */
    LDIF,
    /**
     * The backend is a memory backend.
     */
    /** The backend is a memory backend. */
    MEMORY,
    /**
     * The backend is a backup backend.
     */
    /** The backend is a backup backend. */
    BACKUP,
    /**
     * The backend is a monitor backend.
     */
    /** The backend is a monitor backend. */
    MONITOR,
    /**
     * The backend is a task backend.
     */
    /** The backend is a task backend. */
    TASK,
    /**
     * The backend is another type of backend (for instance user defined).
     */
    /** The backend is another type of backend (for instance user defined). */
    OTHER
  };
  }
  /**
   * Constructor for this class.
@@ -156,55 +137,34 @@
    return entries;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public boolean equals(Object v)
  public boolean equals(Object o)
  {
    boolean equals = false;
    if (this != v)
    if (this == o)
    {
      if (v instanceof BackendDescriptor)
      {
        BackendDescriptor desc = (BackendDescriptor)v;
        equals = getBackendID().equals(desc.getBackendID()) &&
        (getEntries() == desc.getEntries());
        if (equals)
        {
          equals = desc.getBaseDns().equals(getBaseDns());
        }
        if (equals)
        {
          equals = desc.getIndexes().equals(getIndexes());
        }
        if (equals)
        {
          equals = desc.getVLVIndexes().equals(getVLVIndexes());
        }
        if (equals)
        {
          // Compare monitoring entries
          if (getMonitoringEntry() == null)
          {
            equals = desc.getMonitoringEntry() == null;
          }
          else
          {
            equals = getMonitoringEntry().equals(desc.getMonitoringEntry());
          }
        }
      }
      return true;
    }
    else
    if (o instanceof BackendDescriptor)
    {
      equals = true;
      BackendDescriptor desc = (BackendDescriptor)o;
      return getBackendID().equals(desc.getBackendID())
          && getEntries() == desc.getEntries()
          && desc.getBaseDns().equals(getBaseDns())
          && desc.getIndexes().equals(getIndexes())
          && desc.getVLVIndexes().equals(getVLVIndexes())
          && equal(getMonitoringEntry(), desc.getMonitoringEntry());
    }
    return equals;
    return false;
  }
  private boolean equal(CustomSearchResult m1, CustomSearchResult m2)
  {
    if (m1 == null)
    {
      return m2 == null;
    }
    return m1.equals(m2);
  }
  /**
@@ -216,9 +176,7 @@
    return monitoringEntry;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public int hashCode()
  {
@@ -229,7 +187,6 @@
   * Method called when one of the elements that affect the value of the
   * hashcode is modified.  It is used to minimize the time spent calculating
   * hashCode.
   *
   */
  private void recalculateHashCode()
  {
@@ -259,8 +216,7 @@
   *
   */
  private void updateBaseDnsAndIndexes(Set<BaseDNDescriptor> baseDns,
      Set<IndexDescriptor> indexes,
      Set<VLVIndexDescriptor> vlvIndexes)
      Set<IndexDescriptor> indexes, Set<VLVIndexDescriptor> vlvIndexes)
  {
    for (BaseDNDescriptor baseDN : baseDns)
    {
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/BinaryValue.java
@@ -167,69 +167,59 @@
    return file;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public boolean equals(Object o)
  {
    boolean equals = false;
    if (o != null)
    if (this == o)
    {
      equals = this == o;
      if (!equals)
      {
        equals = o instanceof BinaryValue;
        if (equals)
        {
          BinaryValue candidate = (BinaryValue)o;
          equals = candidate.getType() == getType();
          if (equals)
          {
            if (file == null)
            {
              equals = candidate.getFile() == null;
            }
            else if (candidate.getFile() != null)
            {
              equals = file.equals(candidate.getFile());
            }
            else
            {
              equals = false;
            }
          }
          if (equals)
          {
            if (type == Type.BASE64_STRING)
            {
              equals = candidate.getBase64().equals(getBase64());
            }
            else
            {
              try
              {
                equals = candidate.getBytes().length == getBytes().length;
                for (int i=0; i<getBytes().length && equals; i++)
                {
                  equals = bytes[i] == candidate.getBytes()[i];
                }
              }
              catch (ParseException pe)
              {
                throw new RuntimeException(
                    "Unexpected error getting bytes: "+pe, pe);
              }
            }
          }
        }
      }
      return true;
    }
    return equals;
    if (o instanceof BinaryValue)
    {
      BinaryValue candidate = (BinaryValue)o;
      return candidate.getType() == getType()
          && equal(file, candidate.getFile())
          && bytesEqual(candidate);
    }
    return false;
  }
  /**
   * {@inheritDoc}
   */
  private boolean equal(File o1, File o2)
  {
    if (o1 == null)
    {
      return o2 == null;
    }
    return o1.equals(o2);
  }
  private boolean bytesEqual(BinaryValue candidate)
  {
    if (type == Type.BASE64_STRING)
    {
      return candidate.getBase64().equals(getBase64());
    }
    try
    {
      if (candidate.getBytes().length != getBytes().length) {
        return false;
      }
      boolean equals = true;
      for (int i=0; i<getBytes().length && equals; i++)
      {
        equals = bytes[i] == candidate.getBytes()[i];
      }
      return equals;
    }
    catch (ParseException pe)
    {
      throw new RuntimeException(
          "Unexpected error getting bytes: "+pe, pe);
    }
  }
  /** {@inheritDoc} */
  public int hashCode()
  {
    return hashCode;
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java
@@ -230,47 +230,35 @@
    this.monitoringEntries = Collections.unmodifiableSet(monitoringEntries);
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public int hashCode()
  {
    return hashCode;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public String toString()
  {
    return toString;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public boolean equals(Object o)
  {
    boolean equals = false;
    if (o == this)
    {
      equals = true;
      return true;
    }
    else if (o instanceof ConnectionHandlerDescriptor)
    if (o instanceof ConnectionHandlerDescriptor)
    {
      equals = toString.equals(o.toString());
      if (equals)
      {
        ConnectionHandlerDescriptor ch =
          (ConnectionHandlerDescriptor)o;
        // Compare monitoring entries
        equals = (getMonitoringEntries().equals(ch.getMonitoringEntries()));
      }
      ConnectionHandlerDescriptor ch = (ConnectionHandlerDescriptor) o;
      return toString.equals(o.toString())
          && getMonitoringEntries().equals(ch.getMonitoringEntries());
    }
    return equals;
    return false;
  }
  /**
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2011-2014 ForgeRock AS
 *      Portions Copyright 2011-2015 ForgeRock AS
 */
package org.opends.guitools.controlpanel.datamodel;
import static org.opends.server.util.StaticUtils.toLowerCase;
@@ -61,7 +60,6 @@
 * Basically it retrieves all the attributes and values on the SearchResult and
 * calculates its DN.  Using it we avoid having to handle the NamingException
 * exceptions that most of the methods in SearchResult throw.
 *
 */
public class CustomSearchResult implements Comparable<CustomSearchResult>
{
@@ -193,9 +191,7 @@
    return attrNames;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public int compareTo(CustomSearchResult o) {
    if (this.equals(o))
    {
@@ -219,50 +215,41 @@
    return sr;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public boolean equals(Object o)
  {
    boolean equals = false;
    if (o != null)
    if (o == this)
    {
      equals = o == this;
      if (!equals && (o instanceof CustomSearchResult))
      {
        CustomSearchResult sr = (CustomSearchResult)o;
        equals = getDN().equals(sr.getDN());
        if (equals)
        {
          equals = getAttributeNames().equals(sr.getAttributeNames());
          if (equals)
          {
            for (String attrName : getAttributeNames())
            {
              equals = getAttributeValues(attrName).equals(
                  sr.getAttributeValues(attrName));
              if (!equals)
              {
                break;
              }
            }
          }
        }
      }
      return true;
    }
    return equals;
    if (o instanceof CustomSearchResult)
    {
      CustomSearchResult sr = (CustomSearchResult)o;
      return getDN().equals(sr.getDN())
          && getAttributeNames().equals(sr.getAttributeNames())
          && attrValuesEqual(sr);
    }
    return false;
  }
  /**
   * {@inheritDoc}
   */
  private boolean attrValuesEqual(CustomSearchResult sr)
  {
    for (String attrName : getAttributeNames())
    {
      if (!getAttributeValues(attrName).equals(sr.getAttributeValues(attrName)))
      {
        return false;
      }
    }
    return true;
  }
  /** {@inheritDoc} */
  public String toString() {
    return toString;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public int hashCode() {
    return hashCode;
  }
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ObjectClassValue.java
@@ -22,8 +22,8 @@
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.datamodel;
import java.util.Set;
@@ -34,7 +34,6 @@
 * This class represent all the objectclass values for a given entry.  It is
 * used by the entry editors (SimplifiedEntryView and TableEntryView) to edit
 * and display the objectclass.
 *
 */
public class ObjectClassValue
{
@@ -80,54 +79,34 @@
    return structural;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public int hashCode()
  {
    return hashCode;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public boolean equals(Object o)
  {
    boolean equals;
    if (o != this)
    if (this == o)
    {
      if (o != null)
      {
        if (o instanceof ObjectClassValue)
        {
          ObjectClassValue oc = (ObjectClassValue)o;
          if (structural != null)
          {
            equals = structural.equals(oc.getStructural());
          }
          else
          {
            equals = oc.getStructural() == null;
          }
          if (equals)
          {
            equals = auxiliary.equals(oc.getAuxiliary());
          }
        }
        else
        {
          equals = false;
        }
      }
      else
      {
        equals = false;
      }
      return true;
    }
    else
    if (o instanceof ObjectClassValue)
    {
      equals = true;
      ObjectClassValue oc = (ObjectClassValue)o;
      return equal(structural, oc.getStructural())
          && auxiliary.equals(oc.getAuxiliary());
    }
    return equals;
    return false;
  }
  private boolean equal(String s1, String s2)
  {
    if (s1 == null)
    {
      return s2 == null;
    }
    return s1.equals(s2);
  }
}
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ScheduleType.java
@@ -22,34 +22,23 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.datamodel;
import java.util.Date;
/**
 * The class to be used to describe the task schedule.
 *
 */
/** The class to be used to describe the task schedule. */
public class ScheduleType
{
  /**
   * The different type of schedules.
   *
   */
  /** The different type of schedules. */
  public enum Type
  {
    /**
     * Launch now.
     */
    /** Launch now. */
    LAUNCH_NOW,
    /**
     * Launch later in a specific date.
     */
    /** Launch later in a specific date. */
    LAUNCH_LATER,
    /**
     * Launch periodically.
     */
    /** Launch periodically. */
    LAUNCH_PERIODICALLY
  }
@@ -133,41 +122,24 @@
    return cronValue;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public boolean equals(Object o)
  {
    boolean equals;
    if (o != null)
    if (o == this)
    {
      if (o == this)
      {
        equals = true;
      }
      else
      {
        equals = toString().equals(o.toString());
      }
      return true;
    }
    else
    {
      equals = false;
    }
    return equals;
    return o != null
        && toString().equals(o.toString());
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public String toString()
  {
    return toString;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public int hashCode()
  {
    return hashCode;
@@ -185,21 +157,16 @@
  private String calculateToString()
  {
    String toString;
    switch (type)
    {
    case LAUNCH_NOW:
      toString = "Schedule Type: Launch Now";
      break;
      return "Schedule Type: Launch Now";
    case LAUNCH_LATER:
      toString = "Schedule Type: Launch Later at date "+launchLaterDate;
      break;
      return "Schedule Type: Launch Later at date " + launchLaterDate;
    case LAUNCH_PERIODICALLY:
      toString = "Schedule Type: periodical schedule "+cronValue;
      break;
      default:
        throw new RuntimeException("Invalid type: "+type);
      return "Schedule Type: periodical schedule " + cronValue;
    default:
      throw new RuntimeException("Invalid type: " + type);
    }
    return toString;
  }
}
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/VLVSortOrder.java
@@ -22,8 +22,8 @@
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 *      Portions Copyright 2015 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.datamodel;
/**
@@ -66,30 +66,24 @@
    return isAscending;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public int hashCode()
  {
    return hashCode;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  public boolean equals(Object o)
  {
    boolean equals = o == this;
    if (!equals)
    {
      equals = o instanceof VLVSortOrder;
      if (equals)
      {
        VLVSortOrder sortOrder = (VLVSortOrder)o;
        equals = sortOrder.getAttributeName().equalsIgnoreCase(attributeName) &&
          sortOrder.isAscending() == isAscending;
      }
    if (o == this) {
      return  true;
    }
    return equals;
    if (o instanceof VLVSortOrder)
    {
      VLVSortOrder sortOrder = (VLVSortOrder)o;
      return sortOrder.getAttributeName().equalsIgnoreCase(attributeName)
          && sortOrder.isAscending() == isAscending;
    }
    return false;
  }
}
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LDIFViewEntryPanel.java
@@ -22,9 +22,8 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012-2014 ForgeRock AS
 *      Portions Copyright 2012-2015 ForgeRock AS
 */
package org.opends.guitools.controlpanel.ui;
import static org.opends.messages.AdminToolMessages.*;
@@ -44,23 +43,45 @@
import javax.swing.event.DocumentListener;
import javax.swing.tree.TreePath;
import org.forgerock.i18n.LocalizableMessage;
import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.task.OfflineUpdateException;
import org.opends.guitools.controlpanel.util.Utilities;
import org.forgerock.i18n.LocalizableMessage;
import org.opends.server.types.Entry;
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.OpenDsException;
import org.opends.server.util.Base64;
import org.opends.server.util.StaticUtils;
import org.opends.server.util.LDIFReader;
import org.opends.server.util.StaticUtils;
/**
 * The panel displaying an LDIF view of an entry.
 *
 */
public class LDIFViewEntryPanel extends ViewEntryPanel
{
  /** Callback that sets the viewport's view position. */
  private static final class SetViewPosition implements Runnable
  {
    private final Point p;
    private final JScrollPane scroll;
    private SetViewPosition(JScrollPane scroll, Point p)
    {
      this.p = p;
      this.scroll = scroll;
    }
    /** {@inheritDoc} */
    @Override
    public void run()
    {
      if (p != null && scroll.getViewport().contains(p))
      {
        scroll.getViewport().setViewPosition(p);
      }
    }
  }
  private static final long serialVersionUID = 2775960608128921072L;
  private JScrollPane editableScroll;
  private JScrollPane readOnlyScroll;
@@ -68,19 +89,13 @@
  private JTextArea readOnlyAttributes;
  private CustomSearchResult searchResult;
  /**
   * Default constructor.
   *
   */
  /** Default constructor. */
  public LDIFViewEntryPanel()
  {
    super();
    createLayout();
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public Component getPreferredFocusComponent()
  {
@@ -89,7 +104,6 @@
  /**
   * Creates the layout of the panel (but the contents are not populated here).
   *
   */
  private void createLayout()
  {
@@ -141,8 +155,7 @@
    gbc.gridy ++;
    add(lReadOnly, gbc);
    gbc.insets.top = 5;
    readOnlyAttributes = Utilities.createNonEditableTextArea(LocalizableMessage.EMPTY, 10,
        30);
    readOnlyAttributes = Utilities.createNonEditableTextArea(LocalizableMessage.EMPTY, 10, 30);
    gbc.weightx = 1.0;
    gbc.weighty = 0.4;
    gbc.fill = GridBagConstraints.BOTH;
@@ -151,24 +164,20 @@
    add(readOnlyScroll, gbc);
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public void update(CustomSearchResult sr, boolean isReadOnly, TreePath path)
  {
    boolean sameEntry = false;
    if ((searchResult != null) && (sr != null))
    if (searchResult != null && sr != null)
    {
      sameEntry = searchResult.getDN().equals(sr.getDN());
    }
    searchResult = sr;
    updateTitle(sr, path);
    StringBuilder sb = new StringBuilder();
    sb.append("dn: ").append(sr.getDN());
    if (isReadOnly)
@@ -185,20 +194,7 @@
      final Point p1 = sameEntry ?
          readOnlyScroll.getViewport().getViewPosition() : new Point(0, 0);
      readOnlyAttributes.setText(sb.toString());
      SwingUtilities.invokeLater(new Runnable()
      {
        /**
         * {@inheritDoc}
         */
        @Override
        public void run()
        {
          if ((p1 != null) && (readOnlyScroll.getViewport().contains(p1)))
          {
            readOnlyScroll.getViewport().setViewPosition(p1);
          }
        }
      });
      SwingUtilities.invokeLater(new SetViewPosition(readOnlyScroll, p1));
    }
    else
    {
@@ -221,20 +217,7 @@
      editableAttributes.setText(sb.toString());
      ignoreEntryChangeEvents = false;
      SwingUtilities.invokeLater(new Runnable()
      {
        /**
         * {@inheritDoc}
         */
        @Override
        public void run()
        {
          if ((p1 != null) && (editableScroll.getViewport().contains(p1)))
          {
            editableScroll.getViewport().setViewPosition(p1);
          }
        }
      });
      SwingUtilities.invokeLater(new SetViewPosition(editableScroll, p1));
      // Read-only attributes
      boolean oneLineAdded = false;
      sb = new StringBuilder();
@@ -254,26 +237,11 @@
      final Point p2 = sameEntry ?
          readOnlyScroll.getViewport().getViewPosition() : new Point(0, 0);
      readOnlyAttributes.setText(sb.toString());
      SwingUtilities.invokeLater(new Runnable()
      {
        /**
         * {@inheritDoc}
         */
        @Override
        public void run()
        {
          if ((p2 != null) && (readOnlyScroll.getViewport().contains(p2)))
          {
            readOnlyScroll.getViewport().setViewPosition(p2);
          }
        }
      });
      SwingUtilities.invokeLater(new SetViewPosition(readOnlyScroll, p2));
    }
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public GenericDialog.ButtonType getButtonType()
  {
@@ -281,9 +249,7 @@
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  protected String getDisplayedDN()
  {
@@ -302,22 +268,17 @@
    return dn;
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  protected List<Object> getValues(String attrName)
  {
    throw new IllegalStateException("This method should not be called.");
  }
  /**
   * {@inheritDoc}
   */
  /** {@inheritDoc} */
  @Override
  public Entry getEntry() throws OpenDsException
  {
    Entry entry = null;
    LDIFImportConfig ldifImportConfig = null;
    try
    {
@@ -325,8 +286,9 @@
      ldifImportConfig = new LDIFImportConfig(new StringReader(ldif));
      LDIFReader reader = new LDIFReader(ldifImportConfig);
      entry = reader.readEntry(checkSchema());
      Entry entry = reader.readEntry(checkSchema());
      addValuesInRDN(entry);
      return entry;
    }
    catch (IOException ioe)
    {
@@ -340,7 +302,6 @@
        ldifImportConfig.close();
      }
    }
    return entry;
  }
  /**
@@ -350,10 +311,7 @@
   */
  private String getLDIF()
  {
    StringBuilder sb = new StringBuilder();
    sb.append(editableAttributes.getText());
    return sb.toString();
    return editableAttributes.getText();
  }
  /**
@@ -367,7 +325,6 @@
    String attrValue;
    if (o instanceof String)
    {
      //
      if (Utilities.hasControlCharaters((String)o))
      {
        attrValue = Base64.encode(StaticUtils.getBytes((String)o));