1 19 20 package org.polepos.teams.jdo; 21 22 23 import java.util.Iterator ; 24 import javax.jdo.Extent; 25 26 import org.polepos.circuits.melbourne.*; 27 import org.polepos.teams.jdo.data.*; 28 29 32 public class MelbourneJdo extends JdoDriver implements MelbourneDriver{ 33 34 public void write(){ 35 36 begin(); 37 38 int numobjects = setup().getObjectCount(); 39 int commitinterval = setup().getCommitInterval(); 40 41 int commitctr = 0; 42 for ( int i = 1; i <= numobjects; i++ ){ 43 44 JdoPilot p = new JdoPilot( "Pilot_" + i, i ); 45 db().makePersistent( p ); 46 47 if ( commitinterval > 0 && ++commitctr >= commitinterval ){ 48 commitctr = 0; 49 commit(); 50 begin(); 51 Log.logger.fine( "commit while writing at " + i+1 ); } 53 addToCheckSum(i); 54 } 55 56 commit(); 57 } 58 59 public void read(){ 60 readExtent(JdoPilot.class); 61 } 62 63 public void read_hot() { 64 read(); 65 } 66 67 public void delete(){ 68 69 int numobjects =setup().getObjectCount(); 70 int commitinterval = setup().getCommitInterval(); 71 72 begin(); 73 74 Extent extent = db().getExtent( JdoPilot.class, false ); 75 Iterator itr = extent.iterator(); 76 int commitctr = 0; 77 for ( int i = 0; i < numobjects; i++ ){ 78 79 JdoPilot p = (JdoPilot)itr.next(); 80 db().deletePersistent( p ); 81 82 if ( commitinterval > 0 && ++commitctr >= commitinterval ){ 83 commitctr = 0; 84 85 extent.closeAll(); 88 89 commit(); 90 begin(); 91 Log.logger.fine( "commit while deleting at " + i+1 ); 93 extent = db().getExtent( JdoPilot.class, false ); 96 itr = extent.iterator(); 97 } 98 } 99 100 commit(); 101 102 extent.closeAll(); 103 } 104 } 105 | Popular Tags |