You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by rb...@apache.org on 2013/07/02 15:22:44 UTC
[2/4] git commit: got rid of Sonar warnings (magic numbers)
got rid of Sonar warnings (magic numbers)
Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/a393c26e
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/a393c26e
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/a393c26e
Branch: refs/heads/trunk
Commit: a393c26e4b008592d71b70aea78fa5edfc670035
Parents: c8c76bc
Author: Raphaël P. Barazzutti <rb...@apache.org>
Authored: Tue Jul 2 09:08:20 2013 +0200
Committer: Raphaël P. Barazzutti <rb...@apache.org>
Committed: Tue Jul 2 09:08:20 2013 +0200
----------------------------------------------------------------------
.../java/org/apache/mina/codec/IoBuffer.java | 46 +++++++++++---------
1 file changed, 26 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina/blob/a393c26e/codec/src/main/java/org/apache/mina/codec/IoBuffer.java
----------------------------------------------------------------------
diff --git a/codec/src/main/java/org/apache/mina/codec/IoBuffer.java b/codec/src/main/java/org/apache/mina/codec/IoBuffer.java
index aec1820..ec89b4a 100644
--- a/codec/src/main/java/org/apache/mina/codec/IoBuffer.java
+++ b/codec/src/main/java/org/apache/mina/codec/IoBuffer.java
@@ -37,6 +37,9 @@ import java.nio.ReadOnlyBufferException;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public final class IoBuffer {
+ private static final int BYTE_MASK = 0xff;
+
+ private static final long BYTE_MASK_L = 0xffl;
/**
* @see ByteBuffer#allocate(int)
@@ -172,7 +175,7 @@ public final class IoBuffer {
@Override
public int read() throws IOException {
- return hasRemaining() ? get() & 0xff : -1;
+ return hasRemaining() ? get() & BYTE_MASK : -1;
}
@Override
@@ -451,13 +454,13 @@ public final class IoBuffer {
}
private int getInt(Pointer pos) {
- if (pos.getPosition() > capacity - 4) {
+ if (pos.getPosition() > capacity - Integer.SIZE / Byte.SIZE) {
throw new BufferUnderflowException();
}
int out = 0;
- for (int i = 0; i < 32; i += 8) {
- out |= (get(pos) & 0xff) << (bo == ByteOrder.BIG_ENDIAN ? 24 - i : i);
+ for (int i = 0; i < Integer.SIZE; i += Byte.SIZE) {
+ out |= (get(pos) & BYTE_MASK) << (bo == ByteOrder.BIG_ENDIAN ? (Integer.SIZE - Byte.SIZE) - i : i);
}
return out;
}
@@ -477,13 +480,13 @@ public final class IoBuffer {
}
private long getLong(Pointer pos) {
- if (pos.getPosition() > capacity - 8) {
+ if (pos.getPosition() > capacity - Long.SIZE / Byte.SIZE) {
throw new BufferUnderflowException();
}
long out = 0;
- for (int i = 0; i < 64; i += 8) {
- out |= (get(pos) & 0xffl) << (bo == ByteOrder.BIG_ENDIAN ? 56 - i : i);
+ for (int i = 0; i < Long.SIZE; i += Byte.SIZE) {
+ out |= (get(pos) & BYTE_MASK_L) << (bo == ByteOrder.BIG_ENDIAN ? (Long.SIZE - Byte.SIZE) - i : i);
}
return out;
}
@@ -507,13 +510,13 @@ public final class IoBuffer {
}
private short getShort(Pointer pos) {
- if (pos.getPosition() > capacity - 2) {
+ if (pos.getPosition() > capacity - Short.SIZE / Byte.SIZE) {
throw new BufferUnderflowException();
}
if (bo == ByteOrder.BIG_ENDIAN) {
- return (short) ((get(pos) & 0xff) << 8 | (get(pos) & 0xff));
+ return (short) ((get(pos) & BYTE_MASK) << Byte.SIZE | (get(pos) & BYTE_MASK));
} else {
- return (short) ((get(pos) & 0xff) | (get(pos) & 0xff) << 8);
+ return (short) ((get(pos) & BYTE_MASK) | (get(pos) & BYTE_MASK) << Byte.SIZE);
}
}
@@ -525,7 +528,7 @@ public final class IoBuffer {
int hash = 0;
Pointer oldPos = position.duplicate();
while (hasRemaining()) {
- hash *= 31;
+ hash *= 31; // NOSONAR, standard way of hashing
hash += get();
}
position = oldPos;
@@ -761,11 +764,12 @@ public final class IoBuffer {
}
private IoBuffer putInt(Pointer pointer, int value) {
- if (position.getPosition() > pointer.getPosition() || pointer.getPosition() > limit.getPosition() - 4) {
+ if (position.getPosition() > pointer.getPosition()
+ || pointer.getPosition() > limit.getPosition() - Integer.SIZE / Byte.SIZE) {
throw new BufferUnderflowException();
}
- for (int i = 0; i < 32; i += 8) {
- put(pointer, (byte) (value >> (bo == ByteOrder.BIG_ENDIAN ? 24 - i : i)));
+ for (int i = 0; i < Integer.SIZE; i += Byte.SIZE) {
+ put(pointer, (byte) (value >> (bo == ByteOrder.BIG_ENDIAN ? (Integer.SIZE - Byte.SIZE) - i : i)));
}
return this;
}
@@ -785,11 +789,12 @@ public final class IoBuffer {
}
private IoBuffer putLong(Pointer pointer, long value) {
- if (position.getPosition() > pointer.getPosition() || pointer.getPosition() > limit.getPosition() - 8) {
+ if (position.getPosition() > pointer.getPosition()
+ || pointer.getPosition() > limit.getPosition() - Long.SIZE / Byte.SIZE) {
throw new BufferUnderflowException();
}
- for (int i = 0; i < 64; i += 8) {
- put(pointer, (byte) (value >> (bo == ByteOrder.BIG_ENDIAN ? 56 - i : i)));
+ for (int i = 0; i < Long.SIZE; i += Byte.SIZE) {
+ put(pointer, (byte) (value >> (bo == ByteOrder.BIG_ENDIAN ? (Long.SIZE - Byte.SIZE) - i : i)));
}
return this;
@@ -803,11 +808,12 @@ public final class IoBuffer {
}
private IoBuffer putShort(Pointer pointer, short value) {
- if (position.getPosition() > pointer.getPosition() || pointer.getPosition() > limit.getPosition() - 2) {
+ if (position.getPosition() > pointer.getPosition()
+ || pointer.getPosition() > limit.getPosition() - Short.SIZE / Byte.SIZE) {
throw new BufferUnderflowException();
}
- for (int i = 0; i < 16; i += 8) {
- put(pointer, (byte) (value >> (bo == ByteOrder.BIG_ENDIAN ? 8 - i : i)));
+ for (int i = 0; i < Short.SIZE; i += Byte.SIZE) {
+ put(pointer, (byte) (value >> (bo == ByteOrder.BIG_ENDIAN ? Byte.SIZE - i : i)));
}
return this;
}