1 package org.melati.example.odmg;
2
3 import org.odmg.Database;
4 import org.odmg.Transaction;
5 import org.odmg.DCollection;
6 import java.util.Iterator;
7
8
9
10
11
12
13 public final class OdmgTest {
14
15 private OdmgTest() {}
16
17
18
19
20 public static void main(String[] argsIn)
21 throws Exception {
22
23 System.out.println("OdmgTest started:");
24
25 Database db = org.melati.poem.odmg.ODMGFactory.getNewDatabase();
26 System.out.println("Got a db = "+db);
27
28 db.open("odmgplaying",Database.OPEN_READ_WRITE);
29
30 Transaction tx = org.melati.poem.odmg.ODMGFactory.getNewTransaction(db);
31 tx.begin();
32
33 DCollection parents = (DCollection) db.lookup("parent");
34
35
36 parents.removeAll(parents);
37
38 System.out.println("ADDING PARENTS");
39 for (int i=0; i<10; i++) {
40 Parent p = newParent();
41 p.setName("parent-"+parents.size());
42 System.out.println("Adding parent: "+p.getName());
43 parents.add(p);
44 }
45
46 System.out.println("PARENTS DESCENDING");
47 Iterator iter = parents.select("order by name desc");
48 while (iter.hasNext()) {
49 Parent p = (Parent)iter.next();
50 System.out.println("Parent:"+p.getName());
51 }
52
53 System.out.println("PARENTS UNDER 5 ASCENDING");
54 iter = parents.select("where name<'parent-5' order by name asc");
55 while (iter.hasNext()) {
56 Parent p = (Parent)iter.next();
57 System.out.println("Parent:"+p.getName());
58 }
59
60 System.out.println("PARENTS UNDER 3 NO SORTING");
61 iter = parents.select("name<'parent-3'");
62 while (iter.hasNext()) {
63 Parent p = (Parent)iter.next();
64 System.out.println("Parent:"+p.getName());
65 }
66
67 System.out.println("PARENTS UNDER 2 WITH WHERE KEYWORD NO SORTING");
68 iter = parents.select("where name<'parent-2'");
69 while (iter.hasNext()) {
70 Parent p = (Parent)iter.next();
71 System.out.println("Parent:"+p.getName());
72 }
73
74 System.out.println("ALL PARENTS NO SORTING");
75 iter = parents.select("");
76 while (iter.hasNext()) {
77 Parent p = (Parent)iter.next();
78 System.out.println("Parent:"+p.getName());
79 }
80
81 tx.commit();
82
83 System.out.println("OdmgTest done:");
84 }
85
86 private static Parent newParent()
87 throws Exception {
88 return (Parent)org.melati.poem.odmg.ODMGFactory.
89 getPoemDatabase().getTable("parent").newPersistent();
90 }
91
92 }