1d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen// Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org) 2d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 3d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpackage org.xbill.DNS.tests; 4d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 5d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenimport java.util.*; 6d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenimport org.xbill.DNS.*; 7d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 8d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpublic class primary { 9d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 10d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenprivate static void 11d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenusage() { 12d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen System.out.println("usage: primary [-t] [-a | -i] origin file"); 13d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen System.exit(1); 14d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen} 15d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 16d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpublic static void 17d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenmain(String [] args) throws Exception { 18d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen boolean time = false; 19d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen boolean axfr = false; 20d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen boolean iterator = false; 21d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen int arg = 0; 22d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 23d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen if (args.length < 2) 24d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen usage(); 25d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 26d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen while (args.length - arg > 2) { 27d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen if (args[0].equals("-t")) 28d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen time = true; 29d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen else if (args[0].equals("-a")) 30d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen axfr = true; 31d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen else if (args[0].equals("-i")) 32d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen iterator = true; 33d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen arg++; 34d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 35d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 36d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen Name origin = Name.fromString(args[arg++], Name.root); 37d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen String file = args[arg++]; 38d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 39d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen long start = System.currentTimeMillis(); 40d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen Zone zone = new Zone(origin, file); 41d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen long end = System.currentTimeMillis(); 42d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen if (axfr) { 43d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen Iterator it = zone.AXFR(); 44d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen while (it.hasNext()) { 45d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen System.out.println(it.next()); 46d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 47d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } else if (iterator) { 48d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen Iterator it = zone.iterator(); 49d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen while (it.hasNext()) { 50d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen System.out.println(it.next()); 51d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 52d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } else { 53d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen System.out.println(zone); 54d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 55d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen if (time) 56d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen System.out.println("; Load time: " + (end - start) + " ms"); 57d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen} 58d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 59d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen} 60