| author | wenzelm |
| Fri, 28 Dec 2018 19:01:35 +0100 | |
| changeset 69526 | 5574d504cf36 |
| parent 50473 | ca4088bf8365 |
| permissions | -rw-r--r-- |
/*************************************************************************** Title: GraphBrowser/Console.java Author: Gerwin Klein, TU Muenchen Options: :tabSize=2: This is the graph browser's main class when run as a console application. It duplicates some logic from GraphBrowser and GraphView. It does so to remove dependency on AWT. ***************************************************************************/ package GraphBrowser; import java.io.*; import java.util.*; public class Console { Graph g; String gfname; public Console(String name) { gfname = name; } public void PS(String fname, boolean printable) throws IOException { g.layout(null); g.PS(fname,printable); } public void collapseNodes(Vector collapsedDir) { Enumeration e1=collapsedDir.elements(); Graph gra=(Graph)(g.clone()); while (e1.hasMoreElements()) { Directory d=(Directory)(e1.nextElement()); Vector v=gra.decode(d.getCollapsed()); if (!v.isEmpty()) gra.collapse(v,"["+d.getName()+"]",d.getCollapsed()); } g = gra; } public void initBrowser(InputStream is) { try { TreeNode tn = new TreeNode("Root", "", -1, true); g = new Graph(is, tn); Vector v = new Vector(10,10); tn.collapsedDirectories(v); collapseNodes(v); } catch (IOException exn) { System.err.println("\nI/O error while reading graph file."); } catch (ParseError exn) { System.err.println("\nParse error in graph file:"); System.err.println(exn.getMessage()); System.err.println("\nSyntax:\n<vertexname> <vertexID> <dirname> [ + ] <path> "+ "[ < | > ] [ <vertexID> [ ... [ <vertexID> ] ... ] ] ;"); } } public static void main(String[] args) { try { if (args.length <= 1) { System.err.println("Graph and output file expected."); return; } Console console=new Console(args[0]); InputStream is=new FileInputStream(args[0]); console.initBrowser(is); is.close(); try { if (args[1].endsWith(".ps")) console.PS(args[1], true); else if (args[1].endsWith(".eps")) console.PS(args[1], false); else System.err.println("Unknown file type: " + args[1]); } catch (IOException exn) { System.err.println("Unable to write file " + args[1]); } } catch (IOException exn) { System.err.println("Can't open graph file "+args[0]); } } }