From fdd9be22de1808af9159a95ae6dd64e6573f5310 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 29 Mar 2013 14:49:41 +0000
Subject: [PATCH] Very minor code cleanup to LDIF package:

---
 opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java |  152 +++++++++++++++++++-------------------------------
 1 files changed, 57 insertions(+), 95 deletions(-)

diff --git a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java
index f9e4937..f2469a8 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions copyright 2011-2012 ForgeRock AS
+ *      Portions copyright 2011-2013 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldif;
@@ -31,6 +31,7 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
+import java.io.Writer;
 import java.util.List;
 import java.util.regex.Pattern;
 
@@ -100,45 +101,29 @@
      * LDIF string list writer implementation.
      */
     private static final class LDIFWriterListImpl implements LDIFWriterImpl {
-
         private final StringBuilder builder = new StringBuilder();
-
         private final List<String> ldifLines;
 
-        /**
-         * Creates a new LDIF list writer.
-         *
-         * @param ldifLines
-         *            The string list.
-         */
         LDIFWriterListImpl(final List<String> ldifLines) {
             this.ldifLines = ldifLines;
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void close() throws IOException {
             // Nothing to do.
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void flush() throws IOException {
             // Nothing to do.
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void print(final CharSequence s) throws IOException {
             builder.append(s);
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void println() throws IOException {
             ldifLines.add(builder.toString());
             builder.setLength(0);
@@ -149,81 +134,54 @@
      * LDIF output stream writer implementation.
      */
     private static final class LDIFWriterOutputStreamImpl implements LDIFWriterImpl {
-
         private final BufferedWriter writer;
 
-        /**
-         * Creates a new LDIF output stream writer.
-         *
-         * @param out
-         *            The output stream.
-         */
-        LDIFWriterOutputStreamImpl(final OutputStream out) {
-            this.writer = new BufferedWriter(new OutputStreamWriter(out));
+        LDIFWriterOutputStreamImpl(final Writer writer) {
+            this.writer =
+                    writer instanceof BufferedWriter ? (BufferedWriter) writer
+                            : new BufferedWriter(writer);
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void close() throws IOException {
             writer.close();
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void flush() throws IOException {
             writer.flush();
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void print(final CharSequence s) throws IOException {
             writer.append(s);
         }
 
-        /**
-         * {@inheritDoc}
-         */
+        @Override
         public void println() throws IOException {
             writer.newLine();
         }
     }
 
-    // Regular expression used for splitting comments on line-breaks.
+    /*
+     * Regular expression used for splitting comments on line-breaks.
+     */
     private static final Pattern SPLIT_NEWLINE = Pattern.compile("\\r?\\n");
-
     boolean addUserFriendlyComments = false;
-
     final LDIFWriterImpl impl;
-
     int wrapColumn = 0;
-
     private final StringBuilder builder = new StringBuilder(80);
 
-    /**
-     * Creates a new LDIF entry writer which will append lines of LDIF to the
-     * provided list.
-     *
-     * @param ldifLines
-     *            The list to which lines of LDIF should be appended.
-     */
-    public AbstractLDIFWriter(final List<String> ldifLines) {
-        Validator.ensureNotNull(ldifLines);
+    AbstractLDIFWriter(final List<String> ldifLines) {
         this.impl = new LDIFWriterListImpl(ldifLines);
     }
 
-    /**
-     * Creates a new LDIF entry writer whose destination is the provided output
-     * stream.
-     *
-     * @param out
-     *            The output stream to use.
-     */
-    public AbstractLDIFWriter(final OutputStream out) {
-        Validator.ensureNotNull(out);
-        this.impl = new LDIFWriterOutputStreamImpl(out);
+    AbstractLDIFWriter(final OutputStream out) {
+        this(new OutputStreamWriter(out));
+    }
+
+    AbstractLDIFWriter(final Writer writer) {
+        this.impl = new LDIFWriterOutputStreamImpl(writer);
     }
 
     final void close0() throws IOException {
@@ -238,12 +196,16 @@
     final void writeComment0(final CharSequence comment) throws IOException {
         Validator.ensureNotNull(comment);
 
-        // First, break up the comment into multiple lines to preserve the
-        // original spacing that it contained.
+        /*
+         * First, break up the comment into multiple lines to preserve the
+         * original spacing that it contained.
+         */
         final String[] lines = SPLIT_NEWLINE.split(comment);
 
-        // Now iterate through the lines and write them out, prefixing and
-        // wrapping them as necessary.
+        /*
+         * Now iterate through the lines and write them out, prefixing and
+         * wrapping them as necessary.
+         */
         for (final String line : lines) {
             if (!shouldWrap()) {
                 impl.print("# ");
@@ -251,7 +213,6 @@
                 impl.println();
             } else {
                 final int breakColumn = wrapColumn - 2;
-
                 if (line.length() <= breakColumn) {
                     impl.print("# ");
                     impl.print(line);
@@ -267,7 +228,6 @@
                             startPos = line.length();
                         } else {
                             final int endPos = startPos + breakColumn;
-
                             int i = endPos - 1;
                             while (i > startPos) {
                                 if (line.charAt(i) == ' ') {
@@ -278,19 +238,17 @@
                                     startPos = i + 1;
                                     continue outerLoop;
                                 }
-
                                 i--;
                             }
 
-                            // If we've gotten here, then there are no spaces on
-                            // the
-                            // entire line. If that happens, then we'll have to
-                            // break
-                            // in the middle of a word.
+                            /*
+                             * If we've gotten here, then there are no spaces on
+                             * the entire line. If that happens, then we'll have
+                             * to break in the middle of a word.
+                             */
                             impl.print("# ");
                             impl.print(line.substring(startPos, endPos));
                             impl.println();
-
                             startPos = endPos;
                         }
                     }
@@ -304,7 +262,6 @@
             final StringBuilder key = new StringBuilder("control: ");
             key.append(control.getOID());
             key.append(control.isCritical() ? " true" : " false");
-
             if (control.hasValue()) {
                 writeKeyAndValue(key, control.getValue());
             } else {
@@ -317,17 +274,20 @@
             throws IOException {
         builder.setLength(0);
 
-        // If the value is empty, then just append a single colon and a
-        // single space.
+        /*
+         * If the value is empty, then just append a single colon and a single
+         * space.
+         */
         if (value.length() == 0) {
             builder.append(key);
             builder.append(": ");
         } else if (needsBase64Encoding(value)) {
             if (addUserFriendlyComments) {
-                // TODO: Only display comments for valid UTF-8 values, not
-                // binary values.
+                /*
+                 * TODO: Only display comments for valid UTF-8 values, not
+                 * binary values.
+                 */
             }
-
             builder.setLength(0);
             builder.append(key);
             builder.append(":: ");
@@ -337,7 +297,6 @@
             builder.append(": ");
             builder.append(value.toString());
         }
-
         writeLine(builder);
     }
 
@@ -372,8 +331,10 @@
             return false;
         }
 
-        // If the value starts with a space, colon, or less than, then it
-        // needs to be base64 encoded.
+        /*
+         * If the value starts with a space, colon, or less than, then it needs
+         * to be base64 encoded.
+         */
         switch (bytes.byteAt(0)) {
         case 0x20: // Space
         case 0x3A: // Colon
@@ -381,14 +342,17 @@
             return true;
         }
 
-        // If the value ends with a space, then it needs to be
-        // base64 encoded.
+        /*
+         * If the value ends with a space, then it needs to be base64 encoded.
+         */
         if (length > 1 && bytes.byteAt(length - 1) == 0x20) {
             return true;
         }
 
-        // If the value contains a null, newline, or return character, then
-        // it needs to be base64 encoded.
+        /*
+         * If the value contains a null, newline, or return character, then it
+         * needs to be base64 encoded.
+         */
         byte b;
         for (int i = 0; i < bytes.length(); i++) {
             b = bytes.byteAt(i);
@@ -404,7 +368,7 @@
             }
         }
 
-        // If we've made it here, then there's no reason to base64 encode.
+        /* If we've made it here, then there's no reason to base64 encode. */
         return false;
     }
 
@@ -415,11 +379,9 @@
     @SuppressWarnings("unused")
     private void writeKeyAndURL(final CharSequence key, final CharSequence url) throws IOException {
         builder.setLength(0);
-
         builder.append(key);
         builder.append(":: ");
         builder.append(url);
-
         writeLine(builder);
     }
 }

--
Gitblit v1.10.0