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

Ludovic Poitou
17.30.2012 f0e30fc5433a285d3860a0194893f3f39f6642de
Fix OPENDJ-472: offline import LDIF reject entries, doesn't report the correct count of them, and store them in both rejected and skipped files.
Clean up and moved counters increments in call to log rejected or skipped entries.
1 files modified
30 ■■■■ changed files
opends/src/server/org/opends/server/util/LDIFReader.java 30 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/util/LDIFReader.java
@@ -258,7 +258,6 @@
        {
          entryDN = readDN(lines);
        } catch (LDIFException le) {
          entriesIgnored.incrementAndGet();
          continue;
        }
        if (entryDN == null)
@@ -279,7 +278,6 @@
          entriesRead.incrementAndGet();
          Message message = ERR_LDIF_SKIP.get(String.valueOf(entryDN));
          logToSkipWriter(lines, message);
          entriesIgnored.incrementAndGet();
          continue;
        }
        entryID = rootContainer.getNextEntryID();
@@ -295,7 +293,6 @@
          entriesRead.incrementAndGet();
          Message message = ERR_LDIF_SKIP.get(String.valueOf(entryDN));
          logToSkipWriter(lines, message);
          entriesIgnored.incrementAndGet();
          continue;
        }
        entriesRead.incrementAndGet();
@@ -325,8 +322,6 @@
        }
        Message message = ERR_LDIF_READ_ATTR_SKIP.get(String.valueOf(entryDN),
                                                       e.getMessage());
        logToSkipWriter(lines, message);
        entriesIgnored.incrementAndGet();
        suffix.removePending(entryDN);
        continue;
      }
@@ -383,7 +378,6 @@
          }
          Message message = ERR_LDIF_SKIP.get(String.valueOf(entryDN));
          logToSkipWriter(lines, message);
          entriesIgnored.incrementAndGet();
          suffix.removePending(entryDN);
          continue;
        }
@@ -398,10 +392,9 @@
        Message message = ERR_LDIF_COULD_NOT_EVALUATE_FILTERS_FOR_IMPORT.
            get(String.valueOf(entry.getDN()), lastEntryLineNumber,
                String.valueOf(e));
                 logToSkipWriter(lines, message);
          entriesIgnored.incrementAndGet();
          suffix.removePending(entryDN);
          continue;
        logToSkipWriter(lines, message);
        suffix.removePending(entryDN);
        continue;
      }
@@ -426,7 +419,6 @@
          }
          logToRejectWriter(lines, m);
          entriesRejected.incrementAndGet();
          suffix.removePending(entryDN);
          continue;
        }
@@ -451,7 +443,6 @@
                  lastEntryLineNumber,
                  invalidReason.toString());
          logToRejectWriter(lines, message);
          entriesRejected.incrementAndGet();
          suffix.removePending(entryDN);
          continue;
        }
@@ -519,7 +510,6 @@
        entriesRead.incrementAndGet();
        Message message = ERR_LDIF_SKIP.get(String.valueOf(entryDN));
        logToSkipWriter(lines, message);
        entriesIgnored.incrementAndGet();
        continue;
      }
      else
@@ -544,7 +534,6 @@
      }
      catch (LDIFException e)
      {
        entriesRejected.incrementAndGet();
        throw e;
      }
@@ -598,7 +587,6 @@
          }
          Message message = ERR_LDIF_SKIP.get(String.valueOf(entryDN));
          logToSkipWriter(lines, message);
          entriesIgnored.incrementAndGet();
          continue;
        }
      }
@@ -637,7 +625,6 @@
          }
          logToRejectWriter(lines, m);
          entriesRejected.incrementAndGet();
          continue;
        }
      }
@@ -655,7 +642,6 @@
                  lastEntryLineNumber,
                  invalidReason.toString());
          logToRejectWriter(lines, message);
          entriesRejected.incrementAndGet();
          throw new LDIFException(message, lastEntryLineNumber, true);
        }
        //Add any superior objectclass(s) missing in an entries
@@ -898,7 +884,6 @@
              ERR_LDIF_NO_ATTR_NAME.get(lastEntryLineNumber, line.toString());
      logToRejectWriter(lines, message);
      throw new LDIFException(message, lastEntryLineNumber, true);
    }
@@ -914,7 +899,6 @@
              ERR_LDIF_NO_DN.get(lastEntryLineNumber, line.toString());
      logToRejectWriter(lines, message);
      throw new LDIFException(message, lastEntryLineNumber, true);
    }
@@ -960,7 +944,6 @@
                        String.valueOf(e));
        logToRejectWriter(lines, message);
        throw new LDIFException(message, lastEntryLineNumber, true, e);
      }
@@ -980,7 +963,6 @@
                de.getMessageObject());
        logToRejectWriter(lines, message);
        throw new LDIFException(message, lastEntryLineNumber, true, de);
      }
      catch (Exception e)
@@ -994,7 +976,6 @@
                String.valueOf(e));
        logToRejectWriter(lines, message);
        throw new LDIFException(message, lastEntryLineNumber, true, e);
      }
    }
@@ -1024,7 +1005,6 @@
                lastEntryLineNumber, line.toString(), de.getMessageObject());
        logToRejectWriter(lines, message);
        throw new LDIFException(message, lastEntryLineNumber, true, de);
      }
      catch (Exception e)
@@ -1039,7 +1019,6 @@
                String.valueOf(e));
        logToRejectWriter(lines, message);
        throw new LDIFException(message, lastEntryLineNumber, true, e);
      }
    }
@@ -2106,6 +2085,7 @@
  private void logToRejectWriter(LinkedList<StringBuilder> lines,
      Message message) {
    entriesRejected.incrementAndGet();
    BufferedWriter rejectWriter = importConfig.getRejectWriter();
    if (rejectWriter != null)
    {
@@ -2123,7 +2103,7 @@
   */
  private void logToSkipWriter(LinkedList<StringBuilder> lines,
      Message message) {
    entriesIgnored.incrementAndGet();
    BufferedWriter skipWriter = importConfig.getSkipWriter();
    if (skipWriter != null)
    {