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