2020
2121import java .text .SimpleDateFormat ;
2222import java .util .EnumSet ;
23- import javax .xml .bind .DatatypeConverter ;
2423import java .math .BigInteger ;
2524
2625public class TestMain implements WeaveDeviceManager .CompletionHandler
@@ -33,6 +32,33 @@ public TestFailedException(String testName)
3332 }
3433 }
3534
35+ protected byte [] parseHexBinary (String s )
36+ {
37+ byte [] retval = new byte [s .length ()/2 ];
38+ try {
39+ for (int i = 0 ; i < s .length (); i += 2 )
40+ {
41+ retval [i /2 ] = (byte ) Integer .parseInt (s .substring (i , i + 2 ), 16 );
42+ }
43+ }
44+ catch (NumberFormatException nfe )
45+ {
46+ retval = null ;
47+ }
48+
49+ return retval ;
50+ }
51+
52+ protected String printHexBinary (byte [] inArray )
53+ {
54+ StringBuilder sb = new StringBuilder (inArray .length * 2 );
55+ for (byte b : inArray )
56+ {
57+ sb .append (String .format ("%02x" , b ));
58+ }
59+ return sb .toString ();
60+ }
61+
3662 public static void main (String [] args )
3763 {
3864 TestMain mainObj = new TestMain ();
@@ -48,7 +74,7 @@ public static void main(String[] args)
4874 String TestResult = null ;
4975 WeaveDeviceManager DeviceMgr ;
5076 long AddNetworkId = -1 ;
51- byte [] TestDeviceDescriptor = DatatypeConverter . parseHexBinary (
77+ byte [] TestDeviceDescriptor = parseHexBinary (
5278 "95010024002A24010124020125033245" +
5379 "2C041030354241303141433033313330" +
5480 "30334730050818B43000000A91B33006" +
@@ -178,7 +204,7 @@ void RunUnitTests()
178204 System .out .println ("AddNetwork Test" );
179205 System .out .println (" Adding new Thread network..." );
180206 networkInfo = NetworkInfo .MakeThread ("Thread-Test" ,
181- DatatypeConverter . parseHexBinary ("0102030405060708" ),
207+ parseHexBinary ("0102030405060708" ),
182208 "akey" .getBytes (),
183209 0x1234 ,
184210 (byte )21 );
@@ -524,9 +550,9 @@ public void print(WeaveDeviceDescriptor deviceDesc, String prefix)
524550 if (deviceDesc .manufacturingDate != null )
525551 System .out .format ("%sManufacturing Date: %s%n" , prefix , new SimpleDateFormat ("yyyy/MM/dd" ).format (deviceDesc .manufacturingDate .getTime ()));
526552 if (deviceDesc .primary802154MACAddress != null )
527- System .out .format ("%sPrimary 802.15.4 MAC Address: %s%n" , prefix , DatatypeConverter . printHexBinary (deviceDesc .primary802154MACAddress ));
553+ System .out .format ("%sPrimary 802.15.4 MAC Address: %s%n" , prefix , printHexBinary (deviceDesc .primary802154MACAddress ));
528554 if (deviceDesc .primaryWiFiMACAddress != null )
529- System .out .format ("%sPrimary WiFi MAC Address: %s%n" , prefix , DatatypeConverter . printHexBinary (deviceDesc .primaryWiFiMACAddress ));
555+ System .out .format ("%sPrimary WiFi MAC Address: %s%n" , prefix , printHexBinary (deviceDesc .primaryWiFiMACAddress ));
530556 if (deviceDesc .rendezvousWiFiESSID != null )
531557 System .out .format ("%sRendezvous WiFi ESSID: %s%n" , prefix , deviceDesc .rendezvousWiFiESSID );
532558 if (deviceDesc .pairingCode != null )
@@ -557,13 +583,13 @@ public void print(NetworkInfo[] networks, String indent)
557583 if (n .WiFiSecurityType != WiFiSecurityType .NotSpecified )
558584 System .out .format ("%s WiFi Security Type: %s%n" , indent , n .WiFiSecurityType .name ());
559585 if (n .WiFiKey != null )
560- System .out .format ("%s WiFi Key: %s%n" , indent , DatatypeConverter . printHexBinary (n .WiFiKey ));
586+ System .out .format ("%s WiFi Key: %s%n" , indent , printHexBinary (n .WiFiKey ));
561587 if (n .ThreadNetworkName != null )
562588 System .out .format ("%s Thread Network Name: \" %s\" %n" , indent , n .ThreadNetworkName );
563589 if (n .ThreadExtendedPANId != null )
564- System .out .format ("%s Thread Extended PAN Id: %s%n" , indent , DatatypeConverter . printHexBinary (n .ThreadExtendedPANId ));
590+ System .out .format ("%s Thread Extended PAN Id: %s%n" , indent , printHexBinary (n .ThreadExtendedPANId ));
565591 if (n .ThreadNetworkKey != null )
566- System .out .format ("%s Thread Network Key: %s%n" , indent , DatatypeConverter . printHexBinary (n .ThreadNetworkKey ));
592+ System .out .format ("%s Thread Network Key: %s%n" , indent , printHexBinary (n .ThreadNetworkKey ));
567593 if (n .WirelessSignalStrength != Short .MIN_VALUE )
568594 System .out .format ("%s Wireless Signal Strength: %d%n" , indent , n .WirelessSignalStrength );
569595 i ++;
0 commit comments