KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jdesktop > dataset > adapter > TabularDataModelAdapterTest


1 /*
2  * $Id: TabularDataModelAdapterTest.java,v 1.4 2005/03/01 13:28:01 kleopatra Exp $
3  *
4  * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle,
5  * Santa Clara, California 95054, U.S.A. All rights reserved.
6  */

7 package org.jdesktop.dataset.adapter;
8
9 import java.util.Locale JavaDoc;
10
11 import org.jdesktop.dataset.DataSet;
12 import org.jdesktop.dataset.DataTable;
13 import org.jdesktop.swing.data.AbstractDataModelTst;
14 import org.jdesktop.swing.data.DataModel;
15 import org.jdesktop.swing.data.MetaData;
16 import org.jdesktop.swing.data.Validator;
17 import org.jdesktop.swing.util.DataSetTestSupport;
18 import org.jdesktop.swing.util.TabularValueChangeReport;
19
20 /**
21  * @author (Jeanette Winzenburg
22  */

23 public class TabularDataModelAdapterTest extends AbstractDataModelTst {
24     
25     protected MetaData[] metaDataArray;
26     private TabularValueChangeReport tabularValueReport;
27  
28     public TabularDataModelAdapterTest() {
29         super("TabularDataModelAdapter");
30     }
31
32     
33     /**
34      * test change propagation between adapter and tabularData
35      * (both directions).
36      *
37      */

38      public void testBidiNotification() {
39          TabularDataModelAdapter adapter = (TabularDataModelAdapter) createFilledDataModel();
40          DataTable tabularData = adapter.getDataTable();
41          String JavaDoc[] fieldNames = adapter.getFieldNames();
42          adapter.addTabularValueChangeListener(tabularValueReport);
43          // setting the adapter value
44
adapter.setValueAt( fieldNames[0], 0, "othervalue");
45          assertEquals(adapter.getValueAt(fieldNames[0], 0), tabularData.getValue(0, fieldNames[0]));
46          assertTrue("must have fired valueChange",
47                  tabularValueReport.gotEvent(fieldNames[0]));
48         tabularValueReport.clear();
49          
50         // setting the adaptee value
51
tabularData.setValue(0, fieldNames[0], "dummy");
52          assertEquals(adapter.getValueAt(fieldNames[0], 0), tabularData
53                  .getValue(0, fieldNames[0]));
54          // failing because DataTable doesn't fire on update!!
55
// assertTrue("must have fired valueChange", tabularValueReport.gotEvent(fieldNames[0]));
56

57     }
58
59     protected DataModel createDataModelWithValidator(boolean valid) {
60         DataModel model = createFilledDataModel();
61         model.addValidator(createValidator(valid));
62         return model;
63     }
64
65     private Validator createValidator(final boolean valid) {
66         Validator validator = new Validator() {
67
68             public boolean validate(Object JavaDoc value, Locale JavaDoc locale, String JavaDoc[] error) {
69                 
70                 return valid;
71             }
72             
73         };
74         return validator;
75     }
76
77     protected DataModel createEmptyDataModel(MetaData[] metaData, int rowCount) {
78         DataTable table = DataSetTestSupport.createDataSet(metaData, rowCount).
79             getTable(DataSetTestSupport.ADAPTEE_TABLE_NAME);
80         return new TabularDataModelAdapter(table);
81     }
82
83     protected DataModel createFilledDataModel() {
84         DataSet dataSet = DataSetTestSupport.createDefaultDataSet(3);
85         DataSetTestSupport.fillDefaultTable(dataSet);
86         DataTable table = dataSet.getTable(DataSetTestSupport.ADAPTEE_TABLE_NAME);
87         return new TabularDataModelAdapter(table);
88     }
89
90
91     /** returns a DataSet with one table without columns.
92      *
93      * @return
94      */

95     private DataSet createEmptyDataSet() {
96         return DataSetTestSupport.createDefaultDataSet();
97     }
98
99     /** returns a DataSet with one table which has
100      * columns constructed from defaultMetaData.
101      *
102      * @return
103      */

104     private DataSet createDataSet(MetaData[] defaultMetaData) {
105        return DataSetTestSupport.createDataSet(defaultMetaData);
106     }
107     protected void setUp() throws Exception JavaDoc {
108         super.setUp();
109         metaDataArray = createDefaultMetaData();
110         tabularValueReport = new TabularValueChangeReport();
111     }
112     
113     protected MetaData[] createDefaultMetaData() {
114         return DataSetTestSupport.createDefaultMetaData();
115     }
116
117     protected boolean guaranteeNonEmptySelection(DataModel model) {
118         return false;
119         
120     }
121
122 }
123
Popular Tags