--- /dev/null
+/* $Id: XMLFlattener.java 1 2010-02-24 13:03:05Z haidw $ */
+package dol.helper.flattener;
+
+import java.io.File;
+import java.io.FileWriter;
+
+import org.jdom.input.DOMBuilder;
+import org.w3c.dom.Document;
+
+/**
+ *
+ */
+public class XMLFlattener {
+
+ public static void main(String[] args) {
+
+ if (args.length != 2) {
+ System.out.println("Wrong number of arguments.");
+ System.out.println("Correct call:");
+ System.out.println("java XMLFlattener in.xml out.xml");
+ System.exit(-1);
+ }
+ else {
+ SaxDocumentParser sdp = new SaxDocumentParser();
+ boolean needsToBeFlattened = false;
+ needsToBeFlattened = sdp.parseDocument(args[0]);
+ if (needsToBeFlattened) {
+ // start also with DOM Parser and generate the XML-Generator
+ DomDocumentParser ddp = new DomDocumentParser();
+ Document doc = ddp.parseDocument(args[0]);
+
+ DOMBuilder db = new DOMBuilder();
+ org.jdom.Document document = db.build(doc);
+
+ String xmlns = document.getRootElement().getNamespaceURI();
+
+ String outString = "";
+
+ if (xmlns.endsWith("PROCESSNETWORK") ||
+ xmlns.endsWith("processnetwork")) {
+ PNFlattener flattener = new PNFlattener(args[1]);
+ outString = flattener.removeIterators(document);
+ }
+ else if (xmlns.endsWith("ARCHITECTURE")
+ || xmlns.endsWith("ARCHITECTURE_OLD")
+ || xmlns.endsWith("architecture")) {
+ ArchFlattener flattener = new ArchFlattener(args[1]);
+ outString = flattener.removeIterators(document);
+ }
+ else if (xmlns.endsWith("MAPPING")
+ || xmlns.endsWith("MAPPING_OLD")
+ || xmlns.endsWith("mapping")) {
+ MappingFlattener flattener = new MappingFlattener(args[1]);
+ outString = flattener.removeIterators(document);
+ }
+
+
+ try {
+ FileWriter fw = new FileWriter(new File(args[1] + ".java"));
+ fw.write(outString);
+ fw.flush();
+ fw.close();
+ } catch (Exception ex) {
+ }
+ }
+ else {
+ System.out.println("Nothing to be done. Terminating...");
+ }
+ }
+ }
+}