1 /* $Id: MappingFlattener.java 1 2010-02-24 13:03:05Z haidw $ */
2 package dol.helper.flattener;
6 import org.jdom.Element;
11 public class MappingFlattener extends FlattenerHelper {
16 * @param classname class name of the generated class
18 public MappingFlattener(String classname) {
22 public String processElement(Element element)
23 throws RuntimeException {
27 if (element.getName().equalsIgnoreCase("binding")) {
28 _generateElement = false;
29 string = generateBinding(element);
31 else if (element.getName().equalsIgnoreCase("path")) {
32 _generateElement = false;
33 string = generatePath(element);
35 else if (element.getName().equalsIgnoreCase("schedule")) {
36 _generateElement = false;
37 string = generateSchedule(element);
46 @SuppressWarnings("unchecked")
47 protected String generatePath(Element element) {
48 String attributes[] = {"name"};
49 String sourceCode = generateElement(element, attributes, false);
51 //add origin and target elements
52 for (Element childElement : (List<Element>)element.getChildren()) {
53 if (childElement.getName().equalsIgnoreCase("origin")
54 || childElement.getName().equalsIgnoreCase("target")) {
55 sourceCode += generateOriginOrTarget(childElement);
57 else if (childElement.getName().equalsIgnoreCase("resource")) {
58 String rAttributes[] = {"name"};
60 sourceCode += generateElement(childElement,rAttributes, false);
61 sourceCode += _indent +
62 "System.out.println(\"" + _xmlIndent + "</resource>\");\n";
65 else if (childElement.getName().equalsIgnoreCase("buffer")) {
66 String bAttributes[] = {"name"};
68 sourceCode += generateElement(childElement,bAttributes, false);
69 sourceCode += _indent +
70 "System.out.println(\"" + _xmlIndent + "</buffer>\");\n";
74 sourceCode += _indent + "System.out.println(\"</path>\");\n";
81 @SuppressWarnings("unchecked")
82 protected String generateSchedule(Element element) {
83 String attributes[] = {"name", "type"};
84 String sourceCode = generateElement(element, attributes, false);
86 //add origin and target elements
88 for (Element childElement : (List<Element>)element.getChildren()) {
89 if (childElement.getName().equalsIgnoreCase("origin")) {
90 sourceCode += generateOriginOrTarget(childElement);
92 else if (childElement.getName().equalsIgnoreCase("resource")) {
93 String rAttributes[] = {"name"};
95 sourceCode += generateElement(childElement,rAttributes, false);
96 sourceCode += _indent +
97 "System.out.println(\"" + _xmlIndent + "</resource>\");\n";
101 sourceCode += _indent + "System.out.println(\"</schedule>\");\n";
108 @SuppressWarnings("unchecked")
109 protected String generateBinding(Element element) {
110 String attributes[] = {"name", "type"};
111 String sourceCode = generateElement(element, attributes, false);
113 //add origin and target elements
114 for (Element childElement : (List<Element>)element.getChildren()) {
115 if (childElement.getName().equalsIgnoreCase("origin")
116 || childElement.getName().equalsIgnoreCase("target")) {
117 sourceCode += generateOriginOrTarget(childElement);
120 sourceCode += _indent + "System.out.println(\"</binding>\");\n";
127 @SuppressWarnings("unchecked")
128 protected String generateOriginOrTarget(Element element) {
129 String attributes[] = {"name"};
131 String sourceCode = generateElement(element, attributes, false);
133 //add configuration elements
134 for (Element childElement : (List<Element>)element.getChildren()) {
135 if (childElement.getName().equalsIgnoreCase(_xt.getConfigurationTag())) {
136 sourceCode += generateConfiguration(childElement);
140 sourceCode += _indent + "System.out.println(\"" + _xmlIndent + "</"
141 + element.getName() + ">\");\n";
147 protected String generateConfiguration(Element element) {
148 String attributes[] = {"name", "value"};
150 String sourceCode = generateElement(element, attributes, true);