From 94ae08701bbd7585a0b7e5a92d1975965a503c03 Mon Sep 17 00:00:00 2001
From: Dennis Kao <ulysseskao@gmail.com>
Date: Wed, 15 Jan 2014 11:28:52 +0800
Subject: [PATCH] Merge branch 'origin/2.1.x'

---
 xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/BinConverter.java |  131 ++++++++++++++++---------------------------
 1 files changed, 48 insertions(+), 83 deletions(-)

diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/BinConverter.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/BinConverter.java
index 2dd4c53..cce5008 100644
--- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/BinConverter.java
+++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/util/BinConverter.java
@@ -10,15 +10,13 @@
  * BinConverter
  * User: Ulysses
  * Date: 2007/9/17
- * Time: �W�� 01:13:13
  */
-public class BinConverter
-{
+public class BinConverter {
     // our table for binhex conversion
     final static char[] HEXTAB =
-            {
-                    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
-            };
+        {
+            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
+        };
 
     /**
      * gets bytes from an array into a long
@@ -27,12 +25,11 @@
      * @param nStartIndex index from where to read the data
      * @return the 64bit integer
      */
-    public static long byteArrayToLong(byte[] buffer, int nStartIndex)
-    {
+    public static long byteArrayToLong(byte[] buffer, int nStartIndex) {
         return (((long) buffer[nStartIndex]) << 56) | (((long) buffer[nStartIndex + 1] & 0x0ffL) << 48)
-                | (((long) buffer[nStartIndex + 2] & 0x0ffL) << 40) | (((long) buffer[nStartIndex + 3] & 0x0ffL) << 32)
-                | (((long) buffer[nStartIndex + 4] & 0x0ffL) << 24) | (((long) buffer[nStartIndex + 5] & 0x0ffL) << 16)
-                | (((long) buffer[nStartIndex + 6] & 0x0ffL) << 8) | ((long) buffer[nStartIndex + 7] & 0x0ff);
+            | (((long) buffer[nStartIndex + 2] & 0x0ffL) << 40) | (((long) buffer[nStartIndex + 3] & 0x0ffL) << 32)
+            | (((long) buffer[nStartIndex + 4] & 0x0ffL) << 24) | (((long) buffer[nStartIndex + 5] & 0x0ffL) << 16)
+            | (((long) buffer[nStartIndex + 6] & 0x0ffL) << 8) | ((long) buffer[nStartIndex + 7] & 0x0ff);
     }
 
     /**
@@ -42,8 +39,7 @@
      * @param buffer      the target buffer
      * @param nStartIndex where to place the bytes in the buffer
      */
-    public static void longToByteArray(long lValue, byte[] buffer, int nStartIndex)
-    {
+    public static void longToByteArray(long lValue, byte[] buffer, int nStartIndex) {
         buffer[nStartIndex] = (byte) (lValue >>> 56);
         buffer[nStartIndex + 1] = (byte) ((lValue >>> 48) & 0x0ff);
         buffer[nStartIndex + 2] = (byte) ((lValue >>> 40) & 0x0ff);
@@ -61,8 +57,7 @@
      * @param nStartIndex index from where to read the data
      * @return the 64bit integer
      */
-    public static long intArrayToLong(int[] buffer, int nStartIndex)
-    {
+    public static long intArrayToLong(int[] buffer, int nStartIndex) {
         return (((long) buffer[nStartIndex]) << 32) | (((long) buffer[nStartIndex + 1]) & 0x0ffffffffL);
     }
 
@@ -73,8 +68,7 @@
      * @param buffer      the target buffer
      * @param nStartIndex where to place the bytes in the buffer
      */
-    public static void longToIntArray(long lValue, int[] buffer, int nStartIndex)
-    {
+    public static void longToIntArray(long lValue, int[] buffer, int nStartIndex) {
         buffer[nStartIndex] = (int) (lValue >>> 32);
         buffer[nStartIndex + 1] = (int) lValue;
     }
@@ -86,8 +80,7 @@
      * @param nHi higher 32bits
      * @return the built long
      */
-    public static long makeLong(int nLo, int nHi)
-    {
+    public static long makeLong(int nLo, int nHi) {
         return (((long) nHi << 32) | ((long) nLo & 0x00000000ffffffffL));
     }
 
@@ -97,8 +90,7 @@
      * @param lVal the long integer
      * @return lower 32 bits
      */
-    public static int longLo32(long lVal)
-    {
+    public static int longLo32(long lVal) {
         return (int) lVal;
     }
 
@@ -108,8 +100,7 @@
      * @param lVal the long integer
      * @return higher 32 bits
      */
-    public static int longHi32(long lVal)
-    {
+    public static int longHi32(long lVal) {
         return (int) ((long) (lVal >>> 32));
     }
 
@@ -119,8 +110,7 @@
      * @param data the byte array
      * @return the binhex string
      */
-    public static String bytesToBinHex(byte[] data)
-    {
+    public static String bytesToBinHex(byte[] data) {
         // just map the call
         return bytesToBinHex(data, 0, data.length);
     }
@@ -133,16 +123,14 @@
      * @param nNumOfBytes number of bytes to convert
      * @return the binhex string
      */
-    public static String bytesToBinHex(byte[] data, int nStartPos, int nNumOfBytes)
-    {
+    public static String bytesToBinHex(byte[] data, int nStartPos, int nNumOfBytes) {
         StringBuffer sbuf = new StringBuffer();
 
         sbuf.setLength(nNumOfBytes << 1);
 
         int nPos = 0;
 
-        for (int nI = 0; nI < nNumOfBytes; nI++)
-        {
+        for (int nI = 0; nI < nNumOfBytes; nI++) {
             sbuf.setCharAt(nPos++, HEXTAB[(data[nI + nStartPos] >> 4) & 0x0f]);
             sbuf.setCharAt(nPos++, HEXTAB[data[nI + nStartPos] & 0x0f]);
         }
@@ -161,52 +149,43 @@
      * @param nNumOfBytes number of bytes to extract
      * @return number of extracted bytes
      */
-    public static int binHexToBytes(String sBinHex, byte[] data, int nSrcPos, int nDstPos, int nNumOfBytes)
-    {
+    public static int binHexToBytes(String sBinHex, byte[] data, int nSrcPos, int nDstPos, int nNumOfBytes) {
         // check for correct ranges
         int nStrLen = sBinHex.length();
         int nAvailBytes = (nStrLen - nSrcPos) >> 1;
 
-        if (nAvailBytes < nNumOfBytes)
-        {
+        if (nAvailBytes < nNumOfBytes) {
             nNumOfBytes = nAvailBytes;
         }
 
         int nOutputCapacity = data.length - nDstPos;
 
-        if (nNumOfBytes > nOutputCapacity)
-        {
+        if (nNumOfBytes > nOutputCapacity) {
             nNumOfBytes = nOutputCapacity;
         }
 
         // convert now
         int nResult = 0;
 
-        for (int nI = 0; nI < nNumOfBytes; nI++)
-        {
+        for (int nI = 0; nI < nNumOfBytes; nI++) {
             byte bActByte = 0;
             boolean blConvertOK = true;
 
-            for (int nJ = 0; nJ < 2; nJ++)
-            {
+            for (int nJ = 0; nJ < 2; nJ++) {
                 bActByte <<= 4;
 
                 char cActChar = sBinHex.charAt(nSrcPos++);
 
-                if ((cActChar >= 'a') && (cActChar <= 'f'))
-                {
+                if ((cActChar >= 'a') && (cActChar <= 'f')) {
                     bActByte |= (byte) (cActChar - 'a') + 10;
-                } else if ((cActChar >= '0') && (cActChar <= '9'))
-                {
+                } else if ((cActChar >= '0') && (cActChar <= '9')) {
                     bActByte |= (byte) (cActChar - '0');
-                } else
-                {
+                } else {
                     blConvertOK = false;
                 }
             }
 
-            if (blConvertOK)
-            {
+            if (blConvertOK) {
                 data[nDstPos++] = bActByte;
                 nResult++;
             }
@@ -223,16 +202,14 @@
      * @param nNumOfBytes number of bytes to handle
      * @return the string
      */
-    public static String byteArrayToUNCString(byte[] data, int nStartPos, int nNumOfBytes)
-    {
+    public static String byteArrayToUNCString(byte[] data, int nStartPos, int nNumOfBytes) {
         // we need two bytes for every character
         nNumOfBytes &= ~1;
 
         // enough bytes in the buffer?
         int nAvailCapacity = data.length - nStartPos;
 
-        if (nAvailCapacity < nNumOfBytes)
-        {
+        if (nAvailCapacity < nNumOfBytes) {
             nNumOfBytes = nAvailCapacity;
         }
 
@@ -242,8 +219,7 @@
 
         int nSBufPos = 0;
 
-        while (nNumOfBytes > 0)
-        {
+        while (nNumOfBytes > 0) {
             sbuf.setCharAt(nSBufPos++, (char) (((int) data[nStartPos] << 8) | ((int) data[nStartPos + 1] & 0x0ff)));
             nStartPos += 2;
             nNumOfBytes -= 2;
@@ -252,8 +228,7 @@
         return sbuf.toString();
     }
 
-    public static long[] marshalByteArray(byte[] raws, boolean hasSignature)
-    {
+    public static long[] marshalByteArray(byte[] raws, boolean hasSignature) {
         int remainder = raws.length % 8;
         ByteBuffer rawData = ByteBuffer.wrap(raws);
 
@@ -262,36 +237,32 @@
 
         LongBuffer longBuffer = ((ByteBuffer) rawData.rewind()).asLongBuffer();
         int resultSize = longBuffer.limit() + ((remainder != 0)
-                ? 1
-                : 0) + (hasSignature
-                ? 1
-                : 0);
+            ? 1
+            : 0) + (hasSignature
+            ? 1
+            : 0);
         long[] result = new long[resultSize];
         int i = 0;
 
-        if (hasSignature)
-        {
+        if (hasSignature) {
             result[i] = raws.length;
             i++;
         }
 
-        while (longBuffer.hasRemaining())
-        {
+        while (longBuffer.hasRemaining()) {
             result[i] = longBuffer.get();
             i++;
         }
 
-        if (remainder != 0)
-        {
+        if (remainder != 0) {
             int pos = (i - (hasSignature
-                    ? 1
-                    : 0)) * 8;
+                ? 1
+                : 0)) * 8;
 
             // int pos = rawData.position();
             byte[] temp = new byte[8];
 
-            for (int j = 0; j < remainder; j++)
-            {
+            for (int j = 0; j < remainder; j++) {
                 temp[7 - j] = raws[pos + j];
             }
 
@@ -302,16 +273,14 @@
         return result;
     }
 
-    public static byte[] unmarshalByteArray(long[] raws, boolean hasSignature)
-    {
+    public static byte[] unmarshalByteArray(long[] raws, boolean hasSignature) {
         LongBuffer longBuffer = LongBuffer.wrap(raws);
         int resultBufferSize = (raws.length - (hasSignature
-                ? 1
-                : 0)) * 8;
+            ? 1
+            : 0)) * 8;
         int resultSize = resultBufferSize;
 
-        if (hasSignature)
-        {
+        if (hasSignature) {
             resultSize = (int) longBuffer.get();
         }
 
@@ -319,13 +288,11 @@
 
         result.order(ByteOrder.LITTLE_ENDIAN);
 
-        while (longBuffer.hasRemaining())
-        {
+        while (longBuffer.hasRemaining()) {
             result.putLong(longBuffer.get());
         }
 
-        if (resultSize == resultBufferSize)
-        {
+        if (resultSize == resultBufferSize) {
             return result.array();
         }
 
@@ -337,8 +304,7 @@
         return resultData;
     }
 
-    public static long[] marshalCompactByteArray(byte[] raws)
-    {
+    public static long[] marshalCompactByteArray(byte[] raws) {
         byte[] compactRaws = new byte[raws.length + 2];
         ByteBuffer bbCompact = ByteBuffer.wrap(compactRaws);
         bbCompact.order(ByteOrder.LITTLE_ENDIAN);
@@ -348,8 +314,7 @@
         return longData;
     }
 
-    public static byte[] unmarshalCompactByteArray(long[] raws)
-    {
+    public static byte[] unmarshalCompactByteArray(long[] raws) {
         byte[] rawData = BinConverter.unmarshalByteArray(raws, false);
 
         ByteBuffer bbCompact = ByteBuffer.wrap(rawData);

--
Gitblit v0.0.0-SNAPSHOT