Add a GraphLink attribute to AbstractCodeGeneratorClass.Property which is the GraphLink where the property/attribute is defined in the schema.
Added the ability to generate interfaces for the all of the bean info accessors.
Fix up keepElementPositions so that now you can change the graph, and the element positions are still kept (or at least dealt with).
1.1 --- a/schema2beans/test/unit/src/data/BaseTest.java Wed Feb 12 16:25:15 2003 +0000
1.2 +++ b/schema2beans/test/unit/src/data/BaseTest.java Wed Feb 12 23:42:53 2003 +0000
1.3 @@ -125,6 +125,13 @@
1.4 println(this.testName + " - " + value);
1.5 }
1.6
1.7 + void out(String[] s) {
1.8 + out("{");
1.9 + for (int i = 0; i < s.length; ++i)
1.10 + out("\t"+s[i]);
1.11 + out("}");
1.12 + }
1.13 +
1.14 void out(BaseBean bean) {
1.15 bean.dumpXml();
1.16 }
2.1 --- a/schema2beans/test/unit/src/data/TestPositions.java Wed Feb 12 16:25:15 2003 +0000
2.2 +++ b/schema2beans/test/unit/src/data/TestPositions.java Wed Feb 12 23:42:53 2003 +0000
2.3 @@ -52,5 +52,30 @@
2.4 Foo foo = menus.getFoo();
2.5 check(foo.sizeName() == 2, "There are 2 names");
2.6 check("name2".equals(foo.getName2()), "name2 is in the right spot");
2.7 +
2.8 + out("Adding some colors to the menu.");
2.9 + Menu menu = menus.getMenu(0);
2.10 + menu.addMenuItem("red");
2.11 + menu.addMenuItem("magenta");
2.12 + menu.addMenuItem("blue");
2.13 + menu.addSeparator(new Separator());
2.14 + menu.addMenuItem("cyan");
2.15 + menu.addSeparator(new Separator());
2.16 + menu.addMenuItem("green");
2.17 + menus.write(out);
2.18 + check(8 == menu.sizeMenuItem(), "sizeMenuItem="+menu.sizeMenuItem());
2.19 + out(menu.getMenuItem());
2.20 +
2.21 + out("Replacing menu items with many numbers");
2.22 + menu.setMenuItem(new String[] {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"});
2.23 + menus.write(out);
2.24 +
2.25 + out("Removing 7");
2.26 + menu.removeMenuItem("7");
2.27 + menus.write(out);
2.28 +
2.29 + out("Replacing menu items with few letters");
2.30 + menu.setMenuItem(new String[] {"a", "b", "c"});
2.31 + menus.write(out);
2.32 }
2.33 }
3.1 --- a/schema2beans/test/unit/src/data/goldenfiles/TestMain/testPositions.pass Wed Feb 12 16:25:15 2003 +0000
3.2 +++ b/schema2beans/test/unit/src/data/goldenfiles/TestMain/testPositions.pass Wed Feb 12 23:42:53 2003 +0000
3.3 @@ -31,4 +31,141 @@
3.4 out: TestPositions - Check to make sure that elements with the same name get put into the right spot
3.5 out: TestPositions null There are 2 names -> OK
3.6 out: TestPositions null name2 is in the right spot -> OK
3.7 +out: TestPositions - Adding some colors to the menu.
3.8 +out: <?xml version='1.0' encoding='UTF-8' ?>
3.9 +out: <menus>
3.10 +out: <menu>
3.11 +out: <name>Tools</name>
3.12 +out: <menu-item>Setup</menu-item>
3.13 +out: <menu-item>Update Center</menu-item>
3.14 +out: <separator/>
3.15 +out: <menu>
3.16 +out: <name>VCS</name>
3.17 +out: <menu-item>Update</menu-item>
3.18 +out: <menu-item>Commit</menu-item>
3.19 +out: <separator/>
3.20 +out: <menu-item>Revert</menu-item>
3.21 +out: </menu>
3.22 +out: <separator/>
3.23 +out: <menu-item>Help</menu-item>
3.24 +out: <menu-item>red</menu-item>
3.25 +out: <menu-item>magenta</menu-item>
3.26 +out: <menu-item>blue</menu-item>
3.27 +out: <separator/>
3.28 +out: <menu-item>cyan</menu-item>
3.29 +out: <separator/>
3.30 +out: <menu-item>green</menu-item>
3.31 +out: </menu>
3.32 +out: <foo>
3.33 +out: <name>name1-1</name>
3.34 +out: <name>name1-2</name>
3.35 +out: <separator/>
3.36 +out: <name>name2</name>
3.37 +out: </foo>
3.38 +out: </menus>
3.39 +out: TestPositions null sizeMenuItem=8 -> OK
3.40 +out: TestPositions - {
3.41 +out: TestPositions - Setup
3.42 +out: TestPositions - Update Center
3.43 +out: TestPositions - Help
3.44 +out: TestPositions - red
3.45 +out: TestPositions - magenta
3.46 +out: TestPositions - blue
3.47 +out: TestPositions - cyan
3.48 +out: TestPositions - green
3.49 +out: TestPositions - }
3.50 +out: TestPositions - Replacing menu items with many numbers
3.51 +out: <?xml version='1.0' encoding='UTF-8' ?>
3.52 +out: <menus>
3.53 +out: <menu>
3.54 +out: <name>Tools</name>
3.55 +out: <menu-item>1</menu-item>
3.56 +out: <menu-item>2</menu-item>
3.57 +out: <separator/>
3.58 +out: <menu>
3.59 +out: <name>VCS</name>
3.60 +out: <menu-item>Update</menu-item>
3.61 +out: <menu-item>Commit</menu-item>
3.62 +out: <separator/>
3.63 +out: <menu-item>Revert</menu-item>
3.64 +out: </menu>
3.65 +out: <separator/>
3.66 +out: <menu-item>3</menu-item>
3.67 +out: <menu-item>4</menu-item>
3.68 +out: <menu-item>5</menu-item>
3.69 +out: <menu-item>6</menu-item>
3.70 +out: <separator/>
3.71 +out: <menu-item>7</menu-item>
3.72 +out: <separator/>
3.73 +out: <menu-item>8</menu-item>
3.74 +out: <menu-item>9</menu-item>
3.75 +out: <menu-item>10</menu-item>
3.76 +out: </menu>
3.77 +out: <foo>
3.78 +out: <name>name1-1</name>
3.79 +out: <name>name1-2</name>
3.80 +out: <separator/>
3.81 +out: <name>name2</name>
3.82 +out: </foo>
3.83 +out: </menus>
3.84 +out: TestPositions - Removing 7
3.85 +out: <?xml version='1.0' encoding='UTF-8' ?>
3.86 +out: <menus>
3.87 +out: <menu>
3.88 +out: <name>Tools</name>
3.89 +out: <menu-item>1</menu-item>
3.90 +out: <menu-item>2</menu-item>
3.91 +out: <separator/>
3.92 +out: <menu>
3.93 +out: <name>VCS</name>
3.94 +out: <menu-item>Update</menu-item>
3.95 +out: <menu-item>Commit</menu-item>
3.96 +out: <separator/>
3.97 +out: <menu-item>Revert</menu-item>
3.98 +out: </menu>
3.99 +out: <separator/>
3.100 +out: <menu-item>3</menu-item>
3.101 +out: <menu-item>4</menu-item>
3.102 +out: <menu-item>5</menu-item>
3.103 +out: <menu-item>6</menu-item>
3.104 +out: <separator/>
3.105 +out: <separator/>
3.106 +out: <menu-item>8</menu-item>
3.107 +out: <menu-item>9</menu-item>
3.108 +out: <menu-item>10</menu-item>
3.109 +out: </menu>
3.110 +out: <foo>
3.111 +out: <name>name1-1</name>
3.112 +out: <name>name1-2</name>
3.113 +out: <separator/>
3.114 +out: <name>name2</name>
3.115 +out: </foo>
3.116 +out: </menus>
3.117 +out: TestPositions - Replacing menu items with few letters
3.118 +out: <?xml version='1.0' encoding='UTF-8' ?>
3.119 +out: <menus>
3.120 +out: <menu>
3.121 +out: <name>Tools</name>
3.122 +out: <menu-item>a</menu-item>
3.123 +out: <menu-item>b</menu-item>
3.124 +out: <separator/>
3.125 +out: <menu>
3.126 +out: <name>VCS</name>
3.127 +out: <menu-item>Update</menu-item>
3.128 +out: <menu-item>Commit</menu-item>
3.129 +out: <separator/>
3.130 +out: <menu-item>Revert</menu-item>
3.131 +out: </menu>
3.132 +out: <separator/>
3.133 +out: <menu-item>c</menu-item>
3.134 +out: <separator/>
3.135 +out: <separator/>
3.136 +out: </menu>
3.137 +out: <foo>
3.138 +out: <name>name1-1</name>
3.139 +out: <name>name1-2</name>
3.140 +out: <separator/>
3.141 +out: <name>name2</name>
3.142 +out: </foo>
3.143 +out: </menus>
3.144 Finished running TestPositions: 0