1   package org.weda.model;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   import org.weda.ObjectStoreTestCase;
6   import org.weda.property.ObjectDescriptorRegistry;
7   import org.weda.model.impl.ObjectSourceEditorModelGroup;
8   import org.weda.store.ObjectSource;
9   import org.weda.store.ObjectSourceRegistry;
10  import org.weda.domain.Address;
11  import org.weda.domain.Company;
12  import org.weda.store.ObjectStore;
13  
14  /**
15   *
16   * @author tim
17   */
18  public class ObjectSourceEditorModelGroupTest extends ObjectStoreTestCase {
19      public ObjectSource ds;
20      
21      public ObjectSourceEditorModelGroupTest(String name) throws Exception {
22          super(name);
23      }
24      
25      public void test() throws Exception {
26          ObjectSourceEditorModelGroup group = createGroup();
27          insertData();
28          assertNotNull(group.getObjectSet());
29          assertNotNull(group.getPropertyDescriptor("name"));
30          //ds.cancelModification();
31          ds.saveModification();
32      }
33      
34      public ObjectSourceEditorModelGroup createGroup() throws Exception {
35          ObjectSourceEditorModelGroup group = new ObjectSourceEditorModelGroup();
36          group.setObjectSourceName("company2");
37          return group;
38      }
39      
40      public int insertData() throws Exception {
41          ObjectStore store = (ObjectStore)registry.getService(ObjectStore.class);
42          ObjectSourceRegistry dataSourceRegistry = 
43                  (ObjectSourceRegistry)registry
44                      .getService(ObjectSourceRegistry.class);        
45          ds = dataSourceRegistry.getObjectSource("company2");
46          //
47          Company comp;
48          Map<String, Company> companies = new HashMap<String, Company>();
49          for (int i=0; i<5; i++){
50              comp = new Company();
51              comp.setName("name "+i);
52              Address addr = new Address();
53              addr.setStreet("street "+i);
54              comp.setAddress(addr);
55              store.save(addr);
56              store.save(comp);
57              companies.put(comp.getName(), comp);
58          }
59          //
60          ds.refresh();
61          int i=0;
62          for (i=0; i<ds.getRowCount(); ++i)
63              if ("name 0".equals(((Company)ds.getRowAt(i)[0]).getName())){
64                  ds.selectRow(i);
65                  break;
66              }
67          ds.beginModification();
68          return i;
69  //        ds.saveModification();
70      }
71      
72  }