Annotation of java/classes/org/w3c/tools/log/Resolve.java, revision 1.2

1.1       ylafon      1: // Resolve.java
1.2     ! ylafon      2: // $Id: Resolve.java,v 1.1 1999/03/19 13:45:21 ylafon Exp $
1.1       ylafon      3: // (c) COPYRIGHT MIT, INRIA and Keio, 1996-1999.
                      4: // Please first read the full copyright statement in file COPYRIGHT.html
                      5: 
                      6: // a small log resolver that can add timestamps for sorting.
                      7: // @author Yves Lafon <ylafon@w3.org>
                      8: 
                      9: package org.w3c.tools.log;
                     10: 
                     11: import java.lang.*;
                     12: import java.util.*;
                     13: import java.io.*;
                     14: 
1.2     ! ylafon     15: /**
        !            16:  * A simple and a little specific resolver
        !            17:  * It can add numeric timestamps to ease the sort of the logfile
        !            18:  * It can do DNS resolution (of course) using multiple threads
        !            19:  * a -help explains all ;)
        !            20:  */
        !            21: 
1.1       ylafon     22: public class Resolve {
                     23: 
                     24:     public static void main(String args[]) {
                     25: 
                     26:        BufferedReader bf        = null;
                     27:        int            maxThread = 0;
                     28:        boolean        usage     = false;
                     29:        int            offset    = 0;
                     30:        boolean        timestamp = true;
1.2     ! ylafon     31:        boolean        resolve   = true;
1.1       ylafon     32:        DNSResolver    resolver;
                     33: 
                     34:        if (args.length > 0) {
                     35:            while (args.length - offset > 0 && args[offset].charAt(0) == '-') {
                     36:                if (args[offset].equals("-thmax")) {
                     37:                    offset++;
1.2     ! ylafon     38:                    if (resolve) {
        !            39:                        try {
        !            40:                            maxThread = Integer.parseInt(args[offset]);
        !            41:                        } catch (NumberFormatException nfe) {
        !            42:                            usage = true;
        !            43:                        }
1.1       ylafon     44:                    }
                     45:                } else if (args[0].equals("-notime")) {
                     46:                    timestamp = false;
1.2     ! ylafon     47:                } else if (args[0].equals("-nores")) {
        !            48:                    timestamp = true;
        !            49:                    resolve = false;
1.1       ylafon     50:                } else if (args[0].equals("-help")) {
                     51:                    usage = true;
                     52:                } else {
                     53:                    usage = true;
                     54:                }
                     55:                offset++;
                     56:            }
                     57:        }
                     58:        if (usage) {
                     59:            System.out.println("Usage: java org.w3c.tools.log.Resolve " + 
1.2     ! ylafon     60:                               " [-notime] [-nores] [-thmax #] [logfile]*");
1.1       ylafon     61:            System.out.println("       it can also read from stdin.");
                     62:            System.out.println("       java -help");
                     63:            System.exit(0);
                     64:        }
                     65:        if (args.length - offset > 0) {
                     66:            while (offset < args.length) {
                     67:                File logfile = new File(args[offset]) ;    
                     68:                FileReader fr;
                     69:                
                     70:                if (!logfile.exists()) {
                     71:                    System.err.println("No logfile of this name :" 
                     72:                                       + args[offset]);
                     73:                    System.exit(1);
                     74:                }
                     75:                try {
                     76:                    fr = new FileReader(logfile);
                     77:                } catch (FileNotFoundException ex) {
                     78:                    System.err.println("log file " + args[offset] 
                     79:                                       + "not found!");
                     80:                    return;
                     81:                }
                     82:                bf = new BufferedReader(fr);
                     83:                if (maxThread != 0)
1.2     ! ylafon     84:                    resolver = new DNSResolver(bf, maxThread, 
        !            85:                                               timestamp, resolve);
1.1       ylafon     86:                else
1.2     ! ylafon     87:                    resolver = new DNSResolver(bf, timestamp, resolve);
1.1       ylafon     88:                resolver.readLog();             
                     89:                offset++;
                     90:            }
                     91:        } else {
                     92:            bf = new BufferedReader(new InputStreamReader(System.in));
                     93:            if (maxThread != 0)
1.2     ! ylafon     94:                resolver = new DNSResolver(bf, maxThread, timestamp, resolve);
1.1       ylafon     95:            else
1.2     ! ylafon     96:                resolver = new DNSResolver(bf, timestamp, resolve);
1.1       ylafon     97:            resolver.readLog();
                     98:        }
                     99:     }
                    100: }

Webmaster