Changeset 557 for Tests


Ignore:
Timestamp:
07/23/12 18:23:18 (10 years ago)
Author:
BegemoT
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Tests/JAVA/test/src/main/java/test/ivan/FileParser.java

    r556 r557  
    1919public class FileParser { 
    2020        private static final Log log = LogFactory.getLog( FileParser.class ); 
    21         protected static final int HASH_LENGTH = 16; 
     21 
     22        private static final boolean PRINT_PACKETS = Boolean.getBoolean( "print-packets" ); 
     23 
     24        protected static final int HASH_LENGTH = 20; 
    2225        protected static final long MAGIC_NUMBER = 0xa1b2c3d4L; 
    2326 
     
    106109                                throw new IOException( "Unexpected EOF: actualBufferLength=" + actualBufferLength + ", but only " + read + " actually read" ); 
    107110                        } 
     111                        if( PRINT_PACKETS ) { 
     112                                log.info( toHexString( buffer, actualBufferLength ) ); 
     113                        } 
    108114 
    109115                        final byte packetType = buffer[12]; 
     
    133139                        final byte[] hash = Arrays.copyOfRange( 
    134140                                        buffer, 
    135                                         54, 
    136                                         54 + HASH_LENGTH 
     141                                        50, 
     142                                        50 + HASH_LENGTH 
    137143                        ); 
    138144 
     
    176182                return signedShort & 0xFFFF; 
    177183        } 
     184 
     185        private static String toHexString( final byte[] bytes, 
     186                                           final int length ) { 
     187                final StringBuilder sb = new StringBuilder( 1024 ); 
     188                final Formatter fmt = new Formatter( sb ); 
     189                for( int i = 0; i < length; i++ ) { 
     190                        if( i % 16 == 0 ) { 
     191                                fmt.format( "\n%04x: ", i ); 
     192                        } 
     193                        final byte b = bytes[i]; 
     194                        fmt.format( "%02x", b ); 
     195                } 
     196                fmt.flush(); 
     197                return sb.toString(); 
     198        } 
    178199} 
Note: See TracChangeset for help on using the changeset viewer.