diff options
Diffstat (limited to 'org/madore/damlengine/DamlEngine.java')
-rw-r--r-- | org/madore/damlengine/DamlEngine.java | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/org/madore/damlengine/DamlEngine.java b/org/madore/damlengine/DamlEngine.java index 712f7e3..03e089d 100644 --- a/org/madore/damlengine/DamlEngine.java +++ b/org/madore/damlengine/DamlEngine.java @@ -1,7 +1,5 @@ package org.madore.damlengine; -import java.util.LinkedList; -import java.util.HashMap; import java.io.OutputStreamWriter; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; @@ -13,17 +11,18 @@ public final class DamlEngine { public static final String DAML_NS = "http://www.madore.org/~david/NS/daml/"; - static Document doc; - private DamlEngine() { } // Forbid instantiation - public static void processDocument() { + public static class RootOptions extends TodoItem.Options { + } + + public static void processDocument(Document doc) { TodoDeque todoDeque = new TodoDeque(); - HashMap<String,Object> options = new HashMap<String,Object>(); - options.put("isRoot", true); - todoDeque.registerAtEnd(TodoElement.getTodoElement(doc.getDocumentElement(), - new HashMap<String,Object>(), - options)); + TodoContext context = new TodoContext(doc); + TodoItem.Options options = new RootOptions(); + todoDeque. + registerAtEnd(TodoElement.getTodoElement(doc.getDocumentElement(), + context, options)); todoDeque.dispatchLoop(); } @@ -42,8 +41,8 @@ public final class DamlEngine { } for (String fname : args) { - doc = db.parse(fname); - processDocument(); + Document doc = db.parse(fname); + processDocument(doc); doc.normalizeDocument(); Unparser unparser = new Unparser(doc, new OutputStreamWriter(System.out)); |