From 23766aa898d550284dea2ed51a7828584c303b6c Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 26 Nov 2013 15:30:53 +0000
Subject: [PATCH] Minor code cleanup and improvements:

---
 opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferReader.java |   98 ++++++++++++++++++++-----------------------------
 1 files changed, 40 insertions(+), 58 deletions(-)

diff --git a/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferReader.java b/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferReader.java
index a8c6c21..e6606b3 100644
--- a/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferReader.java
+++ b/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferReader.java
@@ -28,12 +28,12 @@
 package com.forgerock.opendj.grizzly;
 
 import static com.forgerock.opendj.ldap.CoreMessages.*;
-import static com.forgerock.opendj.ldap.LDAPConstants.*;
 import static com.forgerock.opendj.util.StaticUtils.*;
 
 import java.io.IOException;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.io.ASN1;
 import org.forgerock.opendj.io.ASN1Reader;
 import org.forgerock.opendj.io.AbstractASN1Reader;
 import org.forgerock.opendj.ldap.ByteString;
@@ -50,11 +50,8 @@
 final class ASN1BufferReader extends AbstractASN1Reader {
     private final class ChildSequenceLimiter implements SequenceLimiter {
         private SequenceLimiter parent;
-
         private ChildSequenceLimiter child;
-
         private int readLimit;
-
         private int bytesRead;
 
         public void checkLimit(final int readSize) throws IOException {
@@ -62,23 +59,18 @@
                 final LocalizableMessage message = ERR_ASN1_TRUNCATED_LENGTH_BYTE.get();
                 throw DecodeException.fatalError(message);
             }
-
             parent.checkLimit(readSize);
-
             bytesRead += readSize;
         }
 
         public SequenceLimiter endSequence() throws IOException {
             parent.checkLimit(remaining());
-
             if (remaining() > 0) {
                 IO_LOG.debug("Ignoring {} unused trailing bytes in ASN.1 SEQUENCE", remaining());
             }
-
             for (int i = 0; i < remaining(); i++) {
                 buffer.get();
             }
-
             return parent;
         }
 
@@ -91,10 +83,8 @@
                 child = new ChildSequenceLimiter();
                 child.parent = this;
             }
-
             child.readLimit = readLimit;
             child.bytesRead = 0;
-
             return child;
         }
     }
@@ -123,10 +113,8 @@
                 child = new ChildSequenceLimiter();
                 child.parent = this;
             }
-
             child.readLimit = readLimit;
             child.bytesRead = 0;
-
             return child;
         }
     }
@@ -142,21 +130,13 @@
     }
 
     private static final int MAX_STRING_BUFFER_SIZE = 1024;
-
-    private int state = ELEMENT_READ_STATE_NEED_TYPE;
-
+    private int state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
     private byte peekType = 0;
-
     private int peekLength = -1;
-
     private int lengthBytesNeeded = 0;
-
     private final int maxElementSize;
-
     private final CompositeBuffer buffer;
-
     private SequenceLimiter readLimiter;
-
     private final byte[] stringBuffer;
 
     /**
@@ -196,10 +176,11 @@
      *             If an error occurs while trying to decode an ASN1 element.
      */
     public boolean elementAvailable() throws IOException {
-        return !((state == ELEMENT_READ_STATE_NEED_TYPE) && !needTypeState(true))
-                && !((state == ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE)
+        return !((state == ASN1.ELEMENT_READ_STATE_NEED_TYPE)
+                        && !needTypeState(true))
+                && !((state == ASN1.ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE)
                         && !needFirstLengthByteState(true))
-                && !((state == ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES)
+                && !((state == ASN1.ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES)
                         && !needAdditionalLengthBytesState(true))
                 && peekLength <= readLimiter.remaining();
 
@@ -215,7 +196,7 @@
      *             If an error occurs while trying to decode an ASN1 element.
      */
     public boolean hasNextElement() throws IOException {
-        return (state != ELEMENT_READ_STATE_NEED_TYPE) || needTypeState(true);
+        return (state != ASN1.ELEMENT_READ_STATE_NEED_TYPE) || needTypeState(true);
     }
 
     /**
@@ -225,11 +206,11 @@
         peekType();
 
         switch (state) {
-        case ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE:
+        case ASN1.ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE:
             needFirstLengthByteState(false);
             break;
 
-        case ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES:
+        case ASN1.ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES:
             needAdditionalLengthBytesState(false);
         }
 
@@ -240,7 +221,7 @@
      * {@inheritDoc}
      */
     public byte peekType() throws IOException {
-        if (state == ELEMENT_READ_STATE_NEED_TYPE) {
+        if (state == ASN1.ELEMENT_READ_STATE_NEED_TYPE) {
             needTypeState(false);
         }
 
@@ -262,10 +243,10 @@
         readLimiter.checkLimit(peekLength);
         final byte readByte = buffer.get();
 
-        IO_LOG.trace("READ ASN.1 BOOLEAN(type=0x{}, length={}, value={})",
-                byteToHex(peekType), peekLength, String.valueOf(readByte != 0x00));
+        IO_LOG.trace("READ ASN.1 BOOLEAN(type=0x{}, length={}, value={})", byteToHex(peekType),
+                peekLength, String.valueOf(readByte != 0x00));
 
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
         return readByte != 0x00;
     }
 
@@ -278,7 +259,7 @@
         IO_LOG.debug("READ ASN.1 END SEQUENCE");
 
         // Reset the state
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
     }
 
     /**
@@ -330,7 +311,7 @@
                 longValue = (longValue << 8) | (readByte & 0xFF);
             }
 
-            state = ELEMENT_READ_STATE_NEED_TYPE;
+            state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
             return longValue;
         } else {
             int intValue = 0;
@@ -342,10 +323,10 @@
                 intValue = (intValue << 8) | (readByte & 0xFF);
             }
 
-            IO_LOG.trace("READ ASN.1 INTEGER(type=0x{}, length={}, value={})",
-                    byteToHex(peekType), peekLength, intValue);
+            IO_LOG.trace("READ ASN.1 INTEGER(type=0x{}, length={}, value={})", byteToHex(peekType),
+                    peekLength, intValue);
 
-            state = ELEMENT_READ_STATE_NEED_TYPE;
+            state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
             return intValue;
         }
     }
@@ -363,10 +344,9 @@
             throw DecodeException.fatalError(message);
         }
 
-        IO_LOG.trace("READ ASN.1 NULL(type=0x{}, length={})",
-                    byteToHex(peekType), peekLength);
+        IO_LOG.trace("READ ASN.1 NULL(type=0x{}, length={})", byteToHex(peekType), peekLength);
 
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
     }
 
     /**
@@ -377,7 +357,7 @@
         peekLength();
 
         if (peekLength == 0) {
-            state = ELEMENT_READ_STATE_NEED_TYPE;
+            state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
             return ByteString.empty();
         }
 
@@ -386,9 +366,10 @@
         final byte[] value = new byte[peekLength];
         buffer.get(value);
 
-        IO_LOG.trace("READ ASN.1 OCTETSTRING(type=0x{}, length={})", byteToHex(peekType), peekLength);
+        IO_LOG.trace("READ ASN.1 OCTETSTRING(type=0x{}, length={})", byteToHex(peekType),
+                peekLength);
 
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
         return ByteString.wrap(value);
     }
 
@@ -400,7 +381,7 @@
         peekLength();
 
         if (peekLength == 0) {
-            state = ELEMENT_READ_STATE_NEED_TYPE;
+            state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
             return builder;
         }
 
@@ -411,9 +392,10 @@
             builder.append(buffer.get());
         }
 
-        IO_LOG.trace("READ ASN.1 OCTETSTRING(type=0x{}, length={})", byteToHex(peekType), peekLength);
+        IO_LOG.trace("READ ASN.1 OCTETSTRING(type=0x{}, length={})", byteToHex(peekType),
+                peekLength);
 
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
         return builder;
     }
 
@@ -425,7 +407,7 @@
         peekLength();
 
         if (peekLength == 0) {
-            state = ELEMENT_READ_STATE_NEED_TYPE;
+            state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
             return "";
         }
 
@@ -439,7 +421,7 @@
         readLimiter.checkLimit(peekLength);
         buffer.get(readBuffer, 0, peekLength);
 
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
 
         String str;
         try {
@@ -451,8 +433,8 @@
             str = new String(stringBuffer, 0, peekLength);
         }
 
-        IO_LOG.trace("READ ASN.1 OCTETSTRING(type=0x{}, length={}, value={})",
-                byteToHex(peekType), peekLength, str);
+        IO_LOG.trace("READ ASN.1 OCTETSTRING(type=0x{}, length={}, value={})", byteToHex(peekType),
+                peekLength, str);
 
         return str;
     }
@@ -466,11 +448,11 @@
 
         readLimiter = readLimiter.startSequence(peekLength);
 
-        IO_LOG.trace("READ ASN.1 START SEQUENCE(type=0x{}, length={})",
-                byteToHex(peekType), peekLength);
+        IO_LOG.trace("READ ASN.1 START SEQUENCE(type=0x{}, length={})", byteToHex(peekType),
+                peekLength);
 
         // Reset the state
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
     }
 
     /**
@@ -493,7 +475,7 @@
         for (int i = 0; i < peekLength; i++) {
             buffer.get();
         }
-        state = ELEMENT_READ_STATE_NEED_TYPE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_TYPE;
         return this;
     }
 
@@ -536,7 +518,7 @@
                             .get(peekLength, maxElementSize);
             throw DecodeException.fatalError(m);
         }
-        state = ELEMENT_READ_STATE_NEED_VALUE_BYTES;
+        state = ASN1.ELEMENT_READ_STATE_NEED_VALUE_BYTES;
         return true;
     }
 
@@ -568,7 +550,7 @@
             peekLength = 0x00;
 
             if (ensureRead && (readLimiter.remaining() < lengthBytesNeeded)) {
-                state = ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES;
+                state = ASN1.ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES;
                 return false;
             }
 
@@ -588,7 +570,7 @@
                             .get(peekLength, maxElementSize);
             throw DecodeException.fatalError(m);
         }
-        state = ELEMENT_READ_STATE_NEED_VALUE_BYTES;
+        state = ASN1.ELEMENT_READ_STATE_NEED_VALUE_BYTES;
         return true;
     }
 
@@ -610,7 +592,7 @@
 
         readLimiter.checkLimit(1);
         peekType = buffer.get();
-        state = ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE;
+        state = ASN1.ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE;
         return true;
     }
 }

--
Gitblit v1.10.0