Fix bug dealing with property change events and the array setter not correctly checking equals. BLD200310230100
authorcliffwd@netbeans.org
Wed, 22 Oct 2003 17:49:45 +0000
changeset 1376d89ef1a47c8d
parent 1375 74230c7bd387
child 1377 9da6db0b636c
Fix bug dealing with property change events and the array setter not correctly checking equals.
Fix backwards compat issue with getValue(index, name) for nonindexed properties.
Rename mergeTreeRootUpdate to mergeUpdate. Generate mergeUpdate for extendBaseBean mode.
schema2beans/test/unit/src/TestMain.java
schema2beans/test/unit/src/data/TestMergeExtendBaseBean.java
schema2beans/test/unit/src/data/goldenfiles/TestMain/testMergeExtendBaseBean.pass
     1.1 --- a/schema2beans/test/unit/src/TestMain.java	Wed Oct 22 16:57:30 2003 +0000
     1.2 +++ b/schema2beans/test/unit/src/TestMain.java	Wed Oct 22 17:49:45 2003 +0000
     1.3 @@ -206,6 +206,7 @@
     1.4          config.setGenerateCommonInterface("CommonBean");
     1.5          config.setExtendBaseBean(true);
     1.6          config.setUseInterfaces(true);
     1.7 +        config.setDumpToString(true);
     1.8          generalTest("TestMergeExtendBaseBean", false, config);
     1.9      }
    1.10      
     2.1 --- a/schema2beans/test/unit/src/data/TestMergeExtendBaseBean.java	Wed Oct 22 16:57:30 2003 +0000
     2.2 +++ b/schema2beans/test/unit/src/data/TestMergeExtendBaseBean.java	Wed Oct 22 17:49:45 2003 +0000
     2.3 @@ -193,10 +193,7 @@
     2.4          b3.addPropertyChangeListener(l3);
     2.5  	
     2.6          b3.merge(b1);
     2.7 -
     2.8 -        // All of the same contents, but in a different order is still different.
     2.9 -        //check(b3.equals(b1), " - equals");
    2.10 -	
    2.11 +        
    2.12          //
    2.13          //	Change only one element of the second graph
    2.14          //
    2.15 @@ -221,7 +218,7 @@
    2.16          out("should not get any event");
    2.17          b1.merge(b3);
    2.18          // All of the same contents, but in a different order is still different.
    2.19 -        //check(b3.equals(b1), " - equals");
    2.20 +        check(b3.equals(b1), " - equals");
    2.21  
    2.22          this.mute(true);
    2.23          b2.setSummary(s2);
    2.24 @@ -243,15 +240,15 @@
    2.25          check(b1.getAuthor(0).equals(b2.getAuthor(2)), "mixed");
    2.26          check(b1.getAuthor(1).equals(b2.getAuthor(1)), "mixed");
    2.27          check(b1.getAuthor(2).equals(b2.getAuthor(0)), "mixed");
    2.28 -        out("should not get any event");
    2.29 +
    2.30          b1.merge(b2);
    2.31          // All of the same contents, but in a different order is still different.
    2.32 -        //check(b2.equals(b1), " - equals");
    2.33 +        check(b2.equals(b1), " - equals");
    2.34          this.mute(true);
    2.35          b2.setAuthor(ss1);
    2.36 -        check(b1.getAuthor(0).equals(b2.getAuthor(0)), "reset match");
    2.37 +        check(b1.getAuthor(0).equals(b2.getAuthor(2)), "reset match");
    2.38          check(b1.getAuthor(1).equals(b2.getAuthor(1)), "reset match");
    2.39 -        check(b1.getAuthor(2).equals(b2.getAuthor(2)), "reset match");
    2.40 +        check(b1.getAuthor(2).equals(b2.getAuthor(0)), "reset match");
    2.41  	
    2.42          //
    2.43          //	Mixing array of beans
    2.44 @@ -270,15 +267,15 @@
    2.45          check(b1.getChapter(0).equals(b2.getChapter(2)), "mixed");
    2.46          check(b1.getChapter(1).equals(b2.getChapter(1)), "mixed");
    2.47          check(b1.getChapter(2).equals(b2.getChapter(0)), "mixed");
    2.48 -        out("should not get any event");
    2.49 +
    2.50          b1.merge(b2);
    2.51          // All of the same contents, but in a different order is still different.
    2.52 -        //check(b2.equals(b1), " - equals");
    2.53 +        check(b2.equals(b1), " - equals");
    2.54          this.mute(true);
    2.55          b2.setChapter(cc1);
    2.56 -        check(b1.getChapter(0).equals(b2.getChapter(0)), "reset match");
    2.57 +        check(b1.getChapter(0).equals(b2.getChapter(2)), "reset match");
    2.58          check(b1.getChapter(1).equals(b2.getChapter(1)), "reset match");
    2.59 -        check(b1.getChapter(2).equals(b2.getChapter(2)), "reset match");
    2.60 +        check(b1.getChapter(2).equals(b2.getChapter(0)), "reset match");
    2.61  	
    2.62          //
    2.63          //	Removing a String elt from an array
    2.64 @@ -288,12 +285,13 @@
    2.65          check(b1.getAuthor(1).equals(b2.getAuthor(1)), "initial match");
    2.66          check(b1.getAuthor(2).equals(b2.getAuthor(2)), "initial match");
    2.67          this.mute(false);
    2.68 +        b2 = (Book) b1.clone();
    2.69          s1 = b2.getAuthor(1);
    2.70          out("should get one remove event from deletion");
    2.71          b2.removeAuthor(s1);
    2.72          check(b1.getAuthor(0).equals(b2.getAuthor(0)), "match after rem");
    2.73          check(b1.getAuthor(2).equals(b2.getAuthor(1)), "match after rem");
    2.74 -        out("should get one remove event from merge");
    2.75 +        out("should get one Book remove event from merge");
    2.76          b1.merge(b2);
    2.77          check(b1.getAuthor(0).equals(b2.getAuthor(0)), "match");
    2.78          check(b1.getAuthor(1).equals(b2.getAuthor(1)), "match");
    2.79 @@ -336,7 +334,7 @@
    2.80          b2.removeChapter(c1);
    2.81          check(b1.getChapter(0).equals(b2.getChapter(0)), "match after rem");
    2.82          check(b1.getChapter(2).equals(b2.getChapter(1)), "match after rem");
    2.83 -        out("should get one remove event from merge");
    2.84 +        out("should get one Chapter remove event from merge");
    2.85          b1.merge(b2);
    2.86          check(b1.getChapter(0).equals(b2.getChapter(0)), "match");
    2.87          check(b1.getChapter(1).equals(b2.getChapter(1)), "match");
    2.88 @@ -387,8 +385,8 @@
    2.89          b4.merge(b5);
    2.90          check(b4.sizeChapter() == 3, "correct new array sise");
    2.91          check(b4.getChapter(0).equals(b5.getChapter(0)), "elt ok");
    2.92 -        check(b4.getChapter(1) == null, "elt ok");
    2.93 -        check(b4.getChapter(2).equals(b5.getChapter(1)), "elt ok");
    2.94 +        check(b4.getChapter(1).equals(b5.getChapter(1)), "elt ok");
    2.95 +        check(b4.getChapter(2) == null, "elt ok");
    2.96  	
    2.97          setTest("comparing graphs with null single bean elt");
    2.98          //	g1.bean non null / g2.bean is null
    2.99 @@ -473,7 +471,7 @@
   2.100          b1.write(out);
   2.101          */
   2.102          // All of the same contents, but in a different order is still different.
   2.103 -        //check(b1.equals(b2), "should be equals");
   2.104 +        check(b1.equals(b2), "should be equals");
   2.105  	
   2.106          //	Make sure that b1 has the attributes
   2.107          s1 = b1.getGood();
   2.108 @@ -492,14 +490,14 @@
   2.109              check(s1.equals("us"), "attr on summary");
   2.110          }
   2.111  
   2.112 -        s1 = b1.getChapter(1).getTitle();
   2.113 +        s1 = b1.getChapter(0).getTitle();
   2.114          out(s1);
   2.115          check(s1 != null, "attr on chapter != null");
   2.116          if (s1 != null) {
   2.117              check(s1.equals("First"), "attr on chapter");
   2.118          }
   2.119  
   2.120 -        s1 = b1.getChapter(2).getTitle();
   2.121 +        s1 = b1.getChapter(1).getTitle();
   2.122          out(s1);
   2.123          check(s1 != null, "attr on chapter != null");
   2.124          if (s1 != null) {
     3.1 --- a/schema2beans/test/unit/src/data/goldenfiles/TestMain/testMergeExtendBaseBean.pass	Wed Oct 22 16:57:30 2003 +0000
     3.2 +++ b/schema2beans/test/unit/src/data/goldenfiles/TestMain/testMergeExtendBaseBean.pass	Wed Oct 22 17:49:45 2003 +0000
     3.3 @@ -42,6 +42,20 @@
     3.4  out: TestMergeExtendBaseBean - creating the DOM document
     3.5  out: TestMergeExtendBaseBean - creating the bean graph3
     3.6  out: TestMergeExtendBaseBean - new listener for Book
     3.7 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Author.-1 Src:book.Book>
     3.8 +out: TestMergeExtendBaseBean - <Author[-1] - Parent: Book/book.Book>
     3.9 +out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Chapter.0/Comment Src:book.Chapter>
    3.10 +out: TestMergeExtendBaseBean - <Comment[-1] - Parent: Chapter/book.Chapter>
    3.11 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.0/Paragraph.-1 Src:book.Chapter>
    3.12 +out: TestMergeExtendBaseBean - <Paragraph[-1] - Parent: Chapter/book.Chapter>
    3.13 +out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Chapter.0/ParagraphOpt.1 Src:book.Chapter>
    3.14 +out: TestMergeExtendBaseBean - <ParagraphOpt[1] - Parent: Chapter/book.Chapter>
    3.15 +out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Chapter.1/Comment Src:book.Chapter>
    3.16 +out: TestMergeExtendBaseBean - <Comment[-1] - Parent: Chapter/book.Chapter>
    3.17 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.1/Paragraph.-1 Src:book.Chapter>
    3.18 +out: TestMergeExtendBaseBean - <Paragraph[-1] - Parent: Chapter/book.Chapter>
    3.19 +out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Chapter.1/ParagraphOpt.1 Src:book.Chapter>
    3.20 +out: TestMergeExtendBaseBean - <ParagraphOpt[1] - Parent: Chapter/book.Chapter>
    3.21  out: TestMergeExtendBaseBean - should get one event for Summary
    3.22  out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Summary Src:book.Book>
    3.23  out: TestMergeExtendBaseBean - <Summary[-1] - Parent: Book/book.Book>
    3.24 @@ -125,6 +139,7 @@
    3.25  out: </book>
    3.26  out: TestMergeExtendBaseBean Merge(Update) - changing one property  - equals -> OK
    3.27  out: TestMergeExtendBaseBean - should not get any event
    3.28 +out: TestMergeExtendBaseBean Merge(Update) - changing one property  - equals -> OK
    3.29  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings initial match -> OK
    3.30  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings initial match -> OK
    3.31  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings initial match -> OK
    3.32 @@ -133,7 +148,9 @@
    3.33  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings mixed -> OK
    3.34  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings mixed -> OK
    3.35  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings mixed -> OK
    3.36 -out: TestMergeExtendBaseBean - should not get any event
    3.37 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Author.-1 Src:book.Book>
    3.38 +out: TestMergeExtendBaseBean - <Author[-1] - Parent: Book/book.Book>
    3.39 +out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings  - equals -> OK
    3.40  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings reset match -> OK
    3.41  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings reset match -> OK
    3.42  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of strings reset match -> OK
    3.43 @@ -145,7 +162,21 @@
    3.44  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of beans mixed -> OK
    3.45  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of beans mixed -> OK
    3.46  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of beans mixed -> OK
    3.47 -out: TestMergeExtendBaseBean - should not get any event
    3.48 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Author.-1 Src:book.Book>
    3.49 +out: TestMergeExtendBaseBean - <Author[-1] - Parent: Book/book.Book>
    3.50 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.0/Comment Src:book.Chapter>
    3.51 +out: TestMergeExtendBaseBean - <Comment[-1] - Parent: Chapter/book.Chapter>
    3.52 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.0/Paragraph.-1 Src:book.Chapter>
    3.53 +out: TestMergeExtendBaseBean - <Paragraph[-1] - Parent: Chapter/book.Chapter>
    3.54 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.0/ParagraphOpt.-1 Src:book.Chapter>
    3.55 +out: TestMergeExtendBaseBean - <ParagraphOpt[-1] - Parent: Chapter/book.Chapter>
    3.56 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.2/Comment Src:book.Chapter>
    3.57 +out: TestMergeExtendBaseBean - <Comment[-1] - Parent: Chapter/book.Chapter>
    3.58 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.2/Paragraph.-1 Src:book.Chapter>
    3.59 +out: TestMergeExtendBaseBean - <Paragraph[-1] - Parent: Chapter/book.Chapter>
    3.60 +out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Chapter.2/ParagraphOpt.-1 Src:book.Chapter>
    3.61 +out: TestMergeExtendBaseBean - <ParagraphOpt[-1] - Parent: Chapter/book.Chapter>
    3.62 +out: TestMergeExtendBaseBean Merge(Update) - mixing  array of beans  - equals -> OK
    3.63  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of beans reset match -> OK
    3.64  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of beans reset match -> OK
    3.65  out: TestMergeExtendBaseBean Merge(Update) - mixing  array of beans reset match -> OK
    3.66 @@ -157,7 +188,7 @@
    3.67  out: TestMergeExtendBaseBean - <Author[1] - Parent: Book/book.Book>
    3.68  out: TestMergeExtendBaseBean Merge(Update) - remove elt from array of strings match after rem -> OK
    3.69  out: TestMergeExtendBaseBean Merge(Update) - remove elt from array of strings match after rem -> OK
    3.70 -out: TestMergeExtendBaseBean - should get one remove event from merge
    3.71 +out: TestMergeExtendBaseBean - should get one Book remove event from merge
    3.72  out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Author.1 Src:book.Book>
    3.73  out: TestMergeExtendBaseBean - <Author[1] - Parent: Book/book.Book>
    3.74  out: TestMergeExtendBaseBean Merge(Update) - remove elt from array of strings match -> OK
    3.75 @@ -184,7 +215,7 @@
    3.76  out: TestMergeExtendBaseBean - <Chapter[1] - Parent: Book/book.Book>
    3.77  out: TestMergeExtendBaseBean Merge(Update) - remove elt from array of beans match after rem -> OK
    3.78  out: TestMergeExtendBaseBean Merge(Update) - remove elt from array of beans match after rem -> OK
    3.79 -out: TestMergeExtendBaseBean - should get one remove event from merge
    3.80 +out: TestMergeExtendBaseBean - should get one Chapter remove event from merge
    3.81  out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Chapter.1 Src:book.Book>
    3.82  out: TestMergeExtendBaseBean - <Chapter[1] - Parent: Book/book.Book>
    3.83  out: TestMergeExtendBaseBean Merge(Update) - remove elt from array of beans match -> OK
    3.84 @@ -226,29 +257,40 @@
    3.85  out: TestMergeExtendBaseBean - creating the bean graph1
    3.86  out: TestMergeExtendBaseBean - creating the DOM document
    3.87  out: TestMergeExtendBaseBean - creating the bean graph2
    3.88 -out: TestMergeExtendBaseBean - Chapter
    3.89 -out: TestMergeExtendBaseBean - Chapter
    3.90 +out: TestMergeExtendBaseBean - <Chapter title='First'>
    3.91 +out: 	<number></number>
    3.92 +out: 	<paragraph>
    3.93 +out: 			And the book lived a never ending happy life, read, copied
    3.94 +out: 			and enjoyed by so many readers.
    3.95 +out: 		</paragraph>
    3.96 +out: </Chapter>
    3.97 +out: 
    3.98 +out: TestMergeExtendBaseBean - <Chapter title='First'>
    3.99 +out: 	<number></number>
   3.100 +out: 	<paragraph>
   3.101 +out: 			And the book lived a never ending happy life, read, copied
   3.102 +out: 			and enjoyed by so many readers.
   3.103 +out: 		</paragraph>
   3.104 +out: </Chapter>
   3.105 +out: 
   3.106  out: TestMergeExtendBaseBean - new listener for Book
   3.107  out: TestMergeExtendBaseBean - new listener for Book
   3.108  out: TestMergeExtendBaseBean Merging attributes shouldn't be equals (diff an attr) -> OK
   3.109  out: TestMergeExtendBaseBean - <Chg Lnr:Book Evt:/Book/Good Src:book.Book>
   3.110  out: TestMergeExtendBaseBean - <Good[-1] - Parent: Book/book.Book>
   3.111 -out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Index.0 Src:book.Book>
   3.112 -out: TestMergeExtendBaseBean - <Index[0] - Parent: Book/book.Book>
   3.113 -out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Index.1 Src:book.Book>
   3.114 -out: TestMergeExtendBaseBean - <Index[1] - Parent: Book/book.Book>
   3.115 -out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Chapter.0 Src:book.Book>
   3.116 -out: TestMergeExtendBaseBean - <Chapter[0] - Parent: Book/book.Book>
   3.117 -out: TestMergeExtendBaseBean - <Rmv Lnr:Book Evt:/Book/Chapter.0 Src:book.Book>
   3.118 -out: TestMergeExtendBaseBean - <Chapter[0] - Parent: Book/book.Book>
   3.119 -out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Chapter.1 Src:book.Book>
   3.120 -out: TestMergeExtendBaseBean - <Chapter[1] - Parent: Book/book.Book>
   3.121 -out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Chapter.2 Src:book.Book>
   3.122 -out: TestMergeExtendBaseBean - <Chapter[2] - Parent: Book/book.Book>
   3.123 +out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Index.0/Color Src:book.Index>
   3.124 +out: TestMergeExtendBaseBean - <Color[-1] - Parent: Index/book.Index>
   3.125 +out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Index.0/CrossRef Src:book.Index>
   3.126 +out: TestMergeExtendBaseBean - <CrossRef[-1] - Parent: Index/book.Index>
   3.127 +out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Chapter.0/Title Src:book.Chapter>
   3.128 +out: TestMergeExtendBaseBean - <Title[-1] - Parent: Chapter/book.Chapter>
   3.129 +out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/Chapter.1/Title Src:book.Chapter>
   3.130 +out: TestMergeExtendBaseBean - <Title[-1] - Parent: Chapter/book.Chapter>
   3.131  out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/SummaryLength Src:book.Book>
   3.132  out: TestMergeExtendBaseBean - <SummaryLength[-1] - Parent: Book/book.Book>
   3.133  out: TestMergeExtendBaseBean - <Add Lnr:Book Evt:/Book/SummaryLang Src:book.Book>
   3.134  out: TestMergeExtendBaseBean - <SummaryLang[-1] - Parent: Book/book.Book>
   3.135 +out: TestMergeExtendBaseBean Merging attributes should be equals -> OK
   3.136  out: TestMergeExtendBaseBean Merging attributes attr on root != null -> OK
   3.137  out: TestMergeExtendBaseBean Merging attributes attr on root -> OK
   3.138  out: TestMergeExtendBaseBean Merging attributes attr on summary != null -> OK
   3.139 @@ -276,10 +318,10 @@
   3.140  out: 	John Smith
   3.141  out: 	</author>
   3.142  out: 	<author>
   3.143 -out: 	Mikey Mouse
   3.144 +out: 	Donald Duck
   3.145  out: 	</author>
   3.146  out: 	<author>
   3.147 -out: 	Donald Duck
   3.148 +out: 	Mikey Mouse
   3.149  out: 	</author>
   3.150  out: 	<index color='blue' cross-ref='no'>
   3.151  out: 		<!-- MAUVE -->
   3.152 @@ -318,12 +360,6 @@
   3.153  out: 		</line>
   3.154  out: 		</ref>
   3.155  out: 	</index>
   3.156 -out: 	<chapter>
   3.157 -out: 		<number></number>
   3.158 -out: 		<comment>
   3.159 -out: 		Empty chapter
   3.160 -out: 		</comment>
   3.161 -out: 	</chapter>
   3.162  out: 	<chapter title='First'>
   3.163  out: 		<number></number>
   3.164  out: 		<paragraph>
   3.165 @@ -344,6 +380,12 @@
   3.166  out: 			story began.
   3.167  out: 		</paragraph>
   3.168  out: 	</chapter>
   3.169 +out: 	<chapter>
   3.170 +out: 		<number></number>
   3.171 +out: 		<comment>
   3.172 +out: 		Empty chapter
   3.173 +out: 		</comment>
   3.174 +out: 	</chapter>
   3.175  out: 	<summary length='123' lang='us' size='12'>
   3.176  out: 	This book is about the life of a book spent between books who dreamed
   3.177  out: 	to meet a fairy who could transform it into an XML book and travel