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

dugan
21.13.2009 a9f9fcc56c81c61857eea46e019e8426b089eca3
Fix for issue 4178: Only base entry visible after on-line import
3 files modified
32 ■■■■■ changed files
opends/resource/schema/02-config.ldif 12 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java 18 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tasks/ImportTask.java 2 ●●● patch | view | raw | blame | history
opends/resource/schema/02-config.ldif
@@ -885,6 +885,11 @@
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.598
  NAME 'ds-task-import-tmp-directory'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.180
  NAME 'ds-task-import-overwrite-rejects'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
@@ -895,6 +900,11 @@
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.597
  NAME 'ds-task-import-skip-dn-validation'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
  SINGLE-VALUE
  X-ORIGIN 'OpenDS Directory Server' )
attributeTypes: ( 1.3.6.1.4.1.26027.1.1.519
  NAME 'ds-task-import-skip-file'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
@@ -3083,6 +3093,8 @@
        ds-task-import-overwrite-rejects $
        ds-task-import-skip-file $
        ds-task-import-skip-schema-validation $
        ds-task-import-skip-dn-validation $
        ds-task-import-tmp-directory $
        ds-task-import-is-compressed $
        ds-task-import-is-encrypted $
        ds-task-import-backend-id $
opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
@@ -1607,7 +1607,6 @@
        dbValue1.setData(v);
        DN dn = DN.decode(ByteString.wrap(dbKey1.getData()));
        entryID = new EntryID(v1);
        if(parentIDMap.isEmpty())
        {
@@ -1633,16 +1632,17 @@
        }
        else
        {
          DN pDN = entryContainer.getParentWithinBase(dn);
          if(parentIDMap.containsKey(pDN)) {
            DN lastKey = parentIDMap.lastKey();
            Map<DN, EntryID> subMap = parentIDMap.subMap(pDN, lastKey);
            for(Map.Entry<DN, EntryID> e : subMap.entrySet())
          DN newParentDN = entryContainer.getParentWithinBase(dn);
          if(parentIDMap.containsKey(newParentDN))
            {
              subMap.remove(e.getKey());
            EntryID newParentID = parentIDMap.get(newParentDN);
            DN lastDN = parentIDMap.lastKey();
            while(!newParentDN.equals(lastDN)) {
              parentIDMap.remove(lastDN);
              lastDN = parentIDMap.lastKey();
            }
            parentDN = pDN;
            parentID = parentIDMap.get(pDN);
            parentDN = newParentDN;
            parentID = newParentID;
            lastDN = dn;
            lastID = entryID;
          }
opends/src/server/org/opends/server/tasks/ImportTask.java
@@ -336,7 +336,7 @@
    append = TaskUtils.getBoolean(attrList, false);
    attrList = taskEntry.getAttribute(typeDNCheckPhase2);
    skipDNValidation = TaskUtils.getBoolean(attrList, true);
    skipDNValidation = TaskUtils.getBoolean(attrList, false);
    attrList = taskEntry.getAttribute(typeTmpDirectory);
    tmpDirectory = TaskUtils.getSingleValueString(attrList);