Changeset 352:e6a9b0a3c123


Ignore:
Timestamp:
09/20/11 05:35:22 (5 months ago)
Author:
delmitz
Branch:
default
Convert:
svn:7c3792e6-d75b-4784-96a6-b298f655ee64/trunk@2786
Message:

removed commons-codec dependency.

Location:
kraken-xmlrpc
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • kraken-xmlrpc/pom.xml

    r2 r352  
    5454                </dependency> 
    5555                <dependency> 
    56                         <groupId>commons-codec</groupId> 
    57                         <artifactId>commons-codec</artifactId> 
    58                         <version>1.4</version> 
    59                 </dependency> 
    60                 <dependency> 
    6156                        <groupId>junit</groupId> 
    6257                        <artifactId>junit</artifactId> 
  • kraken-xmlrpc/src/main/java/org/krakenapps/xmlrpc/XmlRpcBuilderUtil.java

    r2 r352  
    2222import java.util.Map; 
    2323 
    24 import org.apache.commons.codec.binary.Base64; 
    2524import org.w3c.dom.Document; 
    2625import org.w3c.dom.Element; 
     
    6766 
    6867        private static String base64ToString(byte[] binary) { 
    69                 return new String(Base64.encodeBase64(binary)); 
     68                return new String(XmlUtil.encodeBase64(binary)); 
    7069        } 
    7170 
  • kraken-xmlrpc/src/main/java/org/krakenapps/xmlrpc/XmlRpcParameterParser.java

    r2 r352  
    2424import java.util.Map; 
    2525 
    26 import org.apache.commons.codec.binary.Base64; 
    2726import org.w3c.dom.Node; 
    2827import org.w3c.dom.NodeList; 
     
    113112 
    114113        private static Object parseBase64(Node scalarNode) { 
    115                 Base64 base64 = new Base64(); 
    116                 return base64.decode(scalarNode.getTextContent().getBytes()); 
     114                return XmlUtil.decodeBase64(scalarNode.getTextContent().getBytes()); 
    117115        } 
    118116 
  • kraken-xmlrpc/src/main/java/org/krakenapps/xmlrpc/XmlUtil.java

    r2 r352  
    147147                return sw.toString(); 
    148148        } 
     149 
     150        private static byte[] encodeMap = new byte[64]; 
     151        private static byte[] decodeMap = new byte[128]; 
     152        static { 
     153                int i = 0; 
     154                byte b = 'A'; 
     155                for (; i < 26; i++) { 
     156                        encodeMap[i] = b; 
     157                        decodeMap[b++] = (byte) i; 
     158                } 
     159                b = 'a'; 
     160                for (; i < 52; i++) { 
     161                        encodeMap[i] = b; 
     162                        decodeMap[b++] = (byte) i; 
     163                } 
     164                b = '0'; 
     165                for (; i < 62; i++) { 
     166                        encodeMap[i] = b; 
     167                        decodeMap[b++] = (byte) i; 
     168                } 
     169                encodeMap[62] = '+'; 
     170                decodeMap['+'] = 62; 
     171                encodeMap[63] = '/'; 
     172                decodeMap['/'] = 63; 
     173        } 
     174 
     175        public static byte[] encodeBase64(byte[] bytes) { 
     176                byte[] result = new byte[(bytes.length + 2) / 3 * 4]; 
     177                for (int i = 0; i < (bytes.length + 2) / 3; i++) { 
     178                        byte a = bytes[i * 3]; 
     179                        byte b = (i * 3 + 1 < bytes.length) ? bytes[i * 3 + 1] : 0; 
     180                        byte c = (i * 3 + 2 < bytes.length) ? bytes[i * 3 + 2] : 0; 
     181 
     182                        long l = (a & 0xFF) << 16 | (b & 0xFF) << 8 | (c & 0xFF); 
     183                        for (int j = 3; j >= 0; j--) { 
     184                                result[i * 4 + j] = encodeMap[(int) (l & 0x3F)]; 
     185                                l >>= 6; 
     186                        } 
     187                } 
     188                if (bytes.length % 3 == 2) 
     189                        result[result.length - 1] = '='; 
     190                else if (bytes.length % 3 == 1) 
     191                        result[result.length - 2] = result[result.length - 1] = '='; 
     192                return result; 
     193        } 
     194 
     195        public static byte[] decodeBase64(byte[] bytes) { 
     196                int len = bytes.length / 4 * 3; 
     197                if (bytes[bytes.length - 1] == '=') 
     198                        len--; 
     199                if (bytes[bytes.length - 2] == '=') 
     200                        len--; 
     201 
     202                byte[] result = new byte[len]; 
     203                for (int i = 0; i < bytes.length / 4; i++) { 
     204                        byte a = decodeMap[bytes[i * 4]]; 
     205                        byte b = decodeMap[bytes[i * 4 + 1]]; 
     206                        byte c = decodeMap[bytes[i * 4 + 2]]; 
     207                        byte d = decodeMap[bytes[i * 4 + 3]]; 
     208 
     209                        long l = (a & 0x3F) << 18 | (b & 0x3F) << 12 | (c & 0x3F) << 6 | (d & 0x3F); 
     210                        for (int j = 2; j >= 0; j--) { 
     211                                if (i * 3 + j < result.length) 
     212                                        result[i * 3 + j] = (byte) (l & 0xFF); 
     213                                l >>= 8; 
     214                        } 
     215                } 
     216                return result; 
     217        } 
    149218} 
Note: See TracChangeset for help on using the changeset viewer.