lib/browser/GraphBrowser/Console.java
author kleing
Wed, 07 May 2003 16:38:55 +0200
changeset 13968 689868b99bde
child 13970 4aef7117817b
permissions -rw-r--r--
eliminated dependencies on AWT for batch mode
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13968
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     1
/***************************************************************************
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     2
  Title:      GraphBrowser/Console.java
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     3
  ID:         $Id$
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     4
  Author:     Stefan Berghofer, TU Muenchen
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     5
  License:    GPL (GNU GENERAL PUBLIC LICENSE)
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     6
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     7
  This is the graph browser's main class when run as a console application.
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     8
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
     9
***************************************************************************/
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    10
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    11
package GraphBrowser;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    12
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    13
import java.io.*;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    14
import java.util.*;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    15
import java.net.*;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    16
import awtUtilities.*;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    17
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    18
public class Console {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    19
	Graph g;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    20
	// TreeBrowser tb;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    21
	String gfname;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    22
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    23
  public Console(String name) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    24
    gfname = name;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    25
  }
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    26
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    27
	public void PS(String fname,boolean printable) throws IOException {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    28
    g.layout(null);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    29
		g.PS(fname,printable);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    30
	}
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    31
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    32
	public void initBrowser(InputStream is) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    33
		try {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    34
			TreeNode tn = new TreeNode("Root", "", -1, true);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    35
      g = new Graph(is, tn);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    36
      
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    37
			// gv = new GraphView(new Graph(is, tn), null, null);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    38
      // tb = new TreeBrowser(tn, gv, font);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    39
			// gv.setTreeBrowser(tb);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    40
			// Vector v = new Vector(10,10);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    41
			// tn.collapsedDirectories(v);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    42
			// gv.collapseDir(v);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    43
		} catch (IOException exn) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    44
			System.err.println("\nI/O error while reading graph file.");
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    45
		} catch (ParseError exn) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    46
			System.err.println("\nParse error in graph file:");
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    47
			System.err.println(exn.getMessage());
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    48
			System.err.println("\nSyntax:\n<vertexname> <vertexID> <dirname> [ + ] <path> [ < | > ] [ <vertexID> [ ... [ <vertexID> ] ... ] ] ;");
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    49
		}
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    50
	}
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    51
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    52
	public static void main(String[] args) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    53
		try {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    54
      if (args.length <= 1) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    55
        System.err.println("Graph and output file expected");
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    56
        return;
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    57
      }
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    58
			Console console=new Console(args[0]);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    59
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    60
      InputStream is=new FileInputStream(args[0]);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    61
      console.initBrowser(is);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    62
      is.close();      
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    63
    
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    64
      try {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    65
        if (args[1].endsWith(".ps"))
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    66
          console.PS(args[1], true);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    67
        else if (args[1].endsWith(".eps"))
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    68
          console.PS(args[1], false);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    69
        else
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    70
          System.err.println("Unknown file type: " + args[1]);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    71
      } catch (IOException exn) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    72
        System.err.println("Unable to write file " + args[1]);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    73
      }
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    74
		} catch (IOException exn) {
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    75
			System.err.println("Can't open graph file "+args[0]);
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    76
		}
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    77
	}
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    78
}
689868b99bde eliminated dependencies on AWT for batch mode
kleing
parents:
diff changeset
    79